Python能否使用BlockInput()?

0 投票
2 回答
5473 浏览
提问于 2025-04-17 07:01

我在寻找其他方法来屏蔽鼠标和键盘。有些人建议使用 BlockInput()。请问这可以用Python实现吗?我在用Windows XP。

2 个回答

0

如果你想实现和被接受的答案一样的效果,但又不想要管理员权限或提升的权限,你可以看看我在这里对一个类似问题的回答:

在Python中禁用或锁定鼠标和键盘?

3

这些WinAPI函数可以通过ctypes模块来调用。

你需要知道这个函数在哪个DLL文件里。在这个例子中,它在user32.dll里(这个信息可以在你提到的msdn文档页面找到)。

接下来,你需要了解它的参数。这个函数需要一个BOOL类型的参数,所以我们可以直接使用Python的bool类型。

from ctypes import *

ok = windll.user32.BlockInput(True)

关于返回值的解释可以在文档中找到。输出会是一个Python的int类型,这在这个简单的例子中是可以的,但你要知道ctypes允许你指定确切的参数和返回值类型,如果需要的话。

我在Windows 7上试过这个,效果不错,但只有在程序以管理员权限运行时才有效(否则它只会返回0)。因为你在使用XP,这可能对你来说不太相关。

撰写回答