pyHook 转码问题-MouseSwitch() missing 8 required positional arguments...,原因及解决办法

简介: pyHook 转码问题-MouseSwitch() missing 8 required positional arguments...,原因及解决办法

       

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 安装要点:

我亲自安装了一遍,中间主要是 vc++ 运行库安装时碰到了很多的坎,总的来说还是蛮容易的。

PyHook3 安装主要就是两步:

第一步:swig 安装;

第二步:Microsoft Visual C++ 14.0 is required 问题解决;

这两步解决了之后直接 pip install PyHook3 就可以了。

可以参考我的这两篇文档:

swig 安装

vc++ 运行库安装

因为以前碰到兼容性问题,改一下本地的库的代码往往都会解决,这个我之前也试了试,发现还是改不成功。我的思路就是看看 window_name 能不能给赋一个 ascii 的不变的值,反正好像这个值也没啥用,以后发现解决办法会来更新博客的,大家有什么想法也可以分享一下。

喜欢的点个赞❤吧!

目录
相关文章
Ninja is required to load C++ extensions | 问题解决
Ninja is required to load C++ extensions | 问题解决
|
6月前
|
SQL 数据库连接 数据库
【Python】已完美解决:executemany() takes exactly 2 positional arguments (3 given)
【Python】已完美解决:executemany() takes exactly 2 positional arguments (3 given)
108 6
|
6月前
|
Python
【Python】已解决:TypeError: *init*() missing 1 required positional argument: ‘scheme’
【Python】已解决:TypeError: *init*() missing 1 required positional argument: ‘scheme’
384 0
|
6月前
|
Web App开发 测试技术 API
【Python】已解决:TypeError: *init*() got an unexpected keyword argument ‘firefox_options’
【Python】已解决:TypeError: *init*() got an unexpected keyword argument ‘firefox_options’
108 0
|
6月前
|
机器学习/深度学习 Python
【Python】已解决TypeError: init() got an unexpected keyword argument ‘threshold’
【Python】已解决TypeError: init() got an unexpected keyword argument ‘threshold’
278 0
|
6月前
|
Python
【Python】已解决:TypeError: write._Log() takes 0 positional arguments but 1 was given
【Python】已解决:TypeError: write._Log() takes 0 positional arguments but 1 was given
217 0
|
6月前
|
开发者 Python
【Python】已解决:SyntaxError: positional argument follows keyword argument
【Python】已解决:SyntaxError: positional argument follows keyword argument
255 0
Parsing error: duplicate-attribute.eslintvue/no-parsing-error,Eslint如何添加两个@Click事件
Parsing error: duplicate-attribute.eslintvue/no-parsing-error,Eslint如何添加两个@Click事件
|
8月前
|
TensorFlow 算法框架/工具
运行tensorboard报错:ValueError: Duplicate plugins for name projector
运行tensorboard报错:ValueError: Duplicate plugins for name projector
243 0
npm ERR! typeerror Error: Missing required argument #1
npm ERR! typeerror Error: Missing required argument #1
780 0