我发现的唯一好方法是:
import sys
import os
try:
os.kill(int(sys.argv[1]), 0)
print "Running"
except:
print "Not running"
Run Code Online (Sandbox Code Playgroud)
(来源)
但这可靠吗?它适用于每个流程和每个分发吗?
我有一个用py2exe生成的exe文件.在setup.py中,我指定了一个嵌入在exe中的图标:
windows=[{'script': 'my_script.py','icon_resources': [(0, 'my_icon.ico')], ...
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下方式加载图标:
hinst = win32api.GetModuleHandle(None)
hicon = win32gui.LoadImage(hinst, 0, win32con.IMAGE_ICON, 0, 0, win32con.LR_DEFAULTSIZE)
Run Code Online (Sandbox Code Playgroud)
但这会产生(非常非特定的)错误:
pywintypes.error:(0,'LoadImage','没有错误消息可用')
如果我尝试将0指定为字符串
hicon = win32gui.LoadImage(hinst, '0', win32con.IMAGE_ICON, 0, 0, win32con.LR_DEFAULTSIZE)
Run Code Online (Sandbox Code Playgroud)
然后我得到错误:
pywintypes.error:(1813,'LoadImage','在图像文件中找不到指定的资源类型.')
那么,加载图标的正确方法/语法是什么?
另请注意,我不使用任何GUI工具包 - 只是通过PyWin32的Windows API.