python变成exe后启动弹出选文件窗口_通过.py脚本执行的.exe文件隐藏控制台窗口...

我试图隐藏从EXE文件弹出的控制台窗口。我正在从我自己的EXE(一个Python脚本冻结通过PyInstaller)运行这个EXE。在

我发现,每当我通过IDLE或PyCharm运行脚本时,我都可以隐藏控制台窗口,一切正常。但是如果我把我的脚本转换成一个EXE(使用pyinstaller --onefile),那么它就不能工作了。在

我尝试了几乎每一个Google都对这个问题的搜索做出了回应,但是我仍然不知道如果我把我的脚本转换成一个EXE文件并运行它,我怎么能隐藏控制台窗口。在

我最后一次尝试:import subprocess

import win32gui

import time

proc = subprocess.Popen(["MyExe.exe"])

# lets wait a bit to app to start

time.sleep(3)

def enumWindowFunc(hwnd, windowList):

""" win32gui.EnumWindows() callback """

text = win32gui.GetWindowText(hwnd)

className = win32gui.GetClassName(hwnd)

#print hwnd, text, className

if text.find("MyExe.exe") >= 0:

windowList.append((hwnd, text, className))

myWindows = []

# enumerate thru all top windows and get windows which are ours

win32gui.EnumWindows(enumWindowFunc, myWindows)

# now hide my windows, we can actually check process info from GetWindowThreadProcessId

# http://msdn.microsoft.com/en-us/library/ms633522(VS.85).aspx

for hwnd, text, className in myWindows:

win32gui.ShowWindow(hwnd, False)

# as our notepad is now hidden

# you will have to kill notepad in taskmanager to get past next line

proc.wait()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值