安装win32api第三方库
pip install pypiwin32
获取句柄及名称
import win32gui
hwnd_title = dict()
def get_all_hwnd(hwnd, mouse):
if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd):
hwnd_title.update({hwnd: win32gui.GetWindowText(hwnd)})
win32gui.EnumWindows(get_all_hwnd, 0)
for h, t in hwnd_title.items():
if t is not "":
print(h, t)
根据进程名称杀死进程
import win32gui
from win32.lib import win32con
def handle_window(hwnd, extra):
if win32gui.IsWindowVisible(hwnd):
if '需要杀死的进程名称' in win32gui.GetWindowText(hwnd):
win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)
if __name__ == '__main__':
win32gui.EnumWindows(handle_window, None)
# win32gui.EnumWindows(枚举函数名称, None) 语句是进行句柄ID枚举
# win32gui.GetWindowText(句柄ID) 语句是通过句柄ID来获取进程名称
# win32gui.IsWindowVisible(句柄ID) 语句是查询此句柄ID是否存在,存在返回1 否则返回0
# win32gui.PostMessage(句柄ID, win32con.WM_CLOSE, 0, 0) 语句是通过指定句柄ID来杀死进程