python - 用os.system打开程序卡在CMD窗口上怎么办?
怪我咯
怪我咯 2017-04-18 09:03:12
0
2
529

这是一个Windos自动登录QQ的一段代码,但是有个问题。(win10, python2.7)

import os
import win32api
import win32con
import time

from ctypes import *
os.system("D:\qq\Bin\QQ.exe")
time.sleep(0.5)

windll.user32.SetCursorPos(969,583)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0,0,0)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0,0,0)

其中,

os.system("D:\qq\Bin\QQ.exe")
time.sleep(0.5)
windll.user32.SetCursorPos(969,583)

这一步是打开QQ,并把鼠标指在账号输入的地方。

可是CMD打开QQ后,CMD窗口依然停留在桌面上,导致接下来的'移动鼠标'不能运行,我手动关闭CMD窗口程序才能继续。请问大家有什么好方法让CMD窗口消失吗?

直接在CMD里用"D:qqBinQQ.exe" & exit可以实现打开qq并退出CMD,
于是我尝试修改成os.system(' "D:qqBinQQ.exe" and exit'),
仍然出现以上问题。希望大家给点意见。

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(2)
左手右手慢动作

문제는 os.system이 막혀 있다는 점입니다. 이전 단계를 완료해야 다음 단계를 수행할 수 있으므로 QQ를 열면서 마우스를 호출해야 하므로 둘이 모순됩니다

대신 subprocess

을 사용하세요. 으아악
黄舟

os.system이 실제로 cmd.exe 프로세스를 생성하고, 이 프로세스가 qq 프로세스를 생성하기 때문입니다. cmd.exe 프로세스를 방지하려면 subprocess 등의 모듈을 직접 사용하여 qq를 직접 열 수 있습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿