在使用电脑时,我们经常需要切换不同的窗口来进行不同的操作,此时可以使用快捷键ALT和TAB组合键来进行快速切换。那么有没什么方法使用代码来自动实现呢?这里介绍一种使用代码来实现这一实用功能的方法
工具/原料
win10+python3.7+pycharm2019.1版
获取窗口句柄
1、当然,关于如何安装,这里推荐安装3.0+版本的,可以自行网上搜索。做好准备工作后开始进入正题。在开始写代码前,我们需要知道切换窗口的句柄是什么,那么什么是窗口句柄呢?简单来说就是一个应用程序的窗口在系统中的名字。因此只要我们知道具体窗口的句柄,就可以切换到它的界面了。
2、那么该如何获取具体的窗口句柄呢?可以通过下面的方法实现:一:使用工具获取指定窗口的句柄网上的工具有很多种,这里就介绍一个(如下图),可以从网上进行下载。使用的时候只要鼠标点击左上的瞄准镜图标移动到对应的窗口再释放就可以了。需要注意的是:这里获取的句柄是16进制的。
3、二:通过代码直接查询def get_hwnd_gmdl(hwnd, mo): if win32gui.IsWindow(hwnd) and win32gui.IsWindowEnabled(hwnd) and win32gui.IsWindowVisible(hwnd): hwnd_all_list.update({hwnd: win32gui.GetWindowText(hwnd)})上面代码的意思是把是能显示的,可用的窗口程序的句柄以及标题都装入到字典里,这样用的时候只要查找标题就可以获取对应的句柄了。
二、切换窗口
1、知道具体窗口的句柄后就要开始使用这个句柄了,不过在写代码之前,需要确定已经安装好pywin32这个库(具体安装可以网上搜索)。代码如下:
2、注意事项1:hwnd就是前面获取的具体窗口句柄,注意要使用10进制的六位数字,否则会报错在使用的时候直接在函数里直接写入10进制的句柄数字或者对应的句柄列表均可。如:switch_ver(hwnd_role_list[1])
3、2:ctypes库是自带的,无需再次安装可以使用“help”函数来查看对应的资料,具体这里就不多做说明了,想详细了解的可以查看源代码
4、3:SetForegroundWindow具体使用方法可以网上找资料,但需要注意的是如果只单独使用这一函数会经常切换失败,尤其是窗口比较多需要互相来回切的时候,因此配合SwitchToThisWindow使用以免出现错误。
5、4:ShowWindow后面的参数可以查看具体的官方文档或者搜索,比较常用的是SW_SHOWNORMAL:表示正常显示窗口,如果窗口是最大化或者是最小化的均恢复为正常大小。