解决Python3安装PyHook3失败

前言

python3使用pyHook提示错误:TypeError: MouseSwitch() missing 8 required positional arguments: ‘msg’, ‘x’, ‘y’, ‘data’, ‘flags’, ‘time’, ‘hwnd’, and ‘window_name’

当鼠标焦点所在的窗口名包含非ascii码,比如中文是unicode编码,转码就会出现问题,不能获取到window_name,导致MouseSwitch()参数获取不全报的错。

因为pyHook是适配python2的,所以在python2上用不会有问题。
目前比较好的解决办法是把pyHook库改为PyHook3就能完美解决了。

安装PyHook3

第一步:安装swig.exe
第二步:安装Microsoft Visual C++ 14(需要至少4G空间大小)
第三步:安装PyHook3

1.安装swig.exe

不安装swig.exe会提示错误:error:command ‘swig.exe’ failed:No such file or directory
下载压缩包,直接解压缩后添加环境变量即可。
swig.exe压缩包
提取码:o0w3
演示图

2.安装Microsoft Visual C++ 14

如果不安装Microsoft Visual C++ 14会提示错误:error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: http://landinghub.visualstudio.com/visual-cpp-build-tools
下载并安装,需要等待一会儿时间,至少需要4G空间大小来存放。
Microsoft Visual C++ 14安装包
提取码:o0w3
演示图

3.安装PyHook3

完成前面两步才可以进行第三步,否则会出现错误提示的,使用命令pip install PyHook3
因为我这里使用的python3的虚拟环境,并且和主python3环境冲突以至于我使用python3 -m pip install PyHook3命令来完成安装。
演示图
在这里我们可以看见PyHook3就安装完成了,这次我们可以把以前的pyHook卸载掉,因为有了PyHook3,pyHook就是个累赘了,使用命令pip uninstall pyHook卸载pyHook。
演示图

猜你喜欢

转载自blog.csdn.net/qq_42279077/article/details/102743603