失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python win32api获取窗口句柄 根据窗口句柄隐藏 关闭进程

python win32api获取窗口句柄 根据窗口句柄隐藏 关闭进程

时间:2022-02-04 09:15:34

相关推荐

python win32api获取窗口句柄 根据窗口句柄隐藏 关闭进程

安装WIN32API和psutil第三方库

pip install pypiwin32

pip install psutil

下面列出了四种应用场景:

一,获取句柄及名称

import win32guihwnd_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)})if __name__ in "__main__":win32gui.EnumWindows(get_all_hwnd, 0)for h, t in hwnd_title.items():if t is not "":print(h, t)

二,根据进程标题名称隐藏运行进程

import win32guifrom win32.lib import win32condef handle_window(hwnd, extra):if win32gui.IsWindowVisible(hwnd):if '需要隐藏的程序标题名称' in win32gui.GetWindowText(hwnd):win32gui.ShowWindow(hwnd, win32con.SW_HIDE)if __name__ == '__main__':win32gui.EnumWindows(handle_window, None)# win32gui.EnumWindows(枚举函数名称, None) 语句是进行句柄ID枚举 # win32gui.GetWindowText(句柄ID) 语句是通过句柄ID来获取进程名称# win32gui.IsWindowVisible(句柄ID) 语句是查询此句柄ID是否存在,存在返回1 否则返回0# win32gui.ShowWindow(句柄ID, win32con.SW_HIDE) 语句是通过指定句柄ID来隐藏进程

三,根据程序名称来获取进程PID,然后通过PID杀掉进程

import win32guiimport win32processimport psutildef handle_window(hwnd, extra):if win32gui.IsWindowVisible(hwnd):if '程序标题' in win32gui.GetWindowText(hwnd):# 判断是否符合_,PID = win32process.GetWindowThreadProcessId(hwnd)# 通过句柄ID查询进程PID(第0个元素不管,第1个元素是PID)p = psutil.Process(PID) # 实例化PIDp.terminate() # 关闭PID进程if __name__ in "__main__":win32gui.EnumWindows(handle_window, None) # 通过句柄ID查询PID并关闭PID

四,根据PID查询,返回句柄ID

import win32guiimport win32processdef get_hwnds_for_pid(pid):# 通过PID查询句柄IDdef callback(hwnd, hwnds):if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd):_, found_pid = win32process.GetWindowThreadProcessId(hwnd)if found_pid == pid:hwnds.append(hwnd)return Truehwnds = []win32gui.EnumWindows(callback, hwnds)hwndy = 0if hwnds:hwndy = hwnds[0]return hwndyif __name__ in "__main__":get_hwnds_for_pid(传入PID值) # 传入PID值后返回句柄ID

如果觉得《python win32api获取窗口句柄 根据窗口句柄隐藏 关闭进程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。