在python中有没有发送/按NUMPAD键的方法?

在python中有没有发送/按NUMPAD键的方法?,python,input,keyboard,mouse,emulation,Python,Input,Keyboard,Mouse,Emulation,到目前为止,我已经尝试用pyautogui发送它们,但它不起作用。我希望如此,因为在源代码中它显示了: 'num multiply': '*', 'num divide': '/', 'num add': '+', 'num plus': '+', 'num minus': '-', 'num sub': '-', 'num enter': 'enter', 'num 0': '0', 'num 1': '1', 'num 2': '2', 'num 3': '3', 'num 4': '4',

到目前为止,我已经尝试用pyautogui发送它们,但它不起作用。我希望如此,因为在源代码中它显示了:

'num multiply': '*',
'num divide': '/',
'num add': '+',
'num plus': '+',
'num minus': '-',
'num sub': '-',
'num enter': 'enter',
'num 0': '0',
'num 1': '1',
'num 2': '2',
'num 3': '3',
'num 4': '4',
'num 5': '5',
'num 6': '6',
'num 7': '7',
'num 8': '8',
'num 9': '9',
但是除了你可能会想到的以外,那没有别的作用。它将使用常规数字,而不是特定于numpad的数字

pyautogui.press("num 3")
例如,根本不起作用

pyautogui.press("3")
只发送了一个3

我还尝试了win32api的SendKeys,但根本没有列出numkeys,通过查看那里的源代码,看起来它们包含在()中,但在Python实现中不受支持……因此这不起作用:

>>> import win32api
>>> import win32com.client
>>> shell = win32com.client.Dispatch("WScript.Shell")
>>> shell.SendKeys("{NUMPAD7}")
返回

pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147024809), None)
我需要能够使用numpad键,因为我有一个使用模拟鼠标的设置,我需要通过这些键进行编程控制。我已经找到了一个解决方法,通过一个有效的组合键(可以与SendKeys一起发送)禁用并重新启用模拟(我使用的是NeatMouse),因为您很少同时键入和使用鼠标,但我仍然非常好奇我想做的事是否真的可以直接实现

重申一下,我想通过python直接按NUMPAD键


谢谢

根据官方文件: 似乎代码不起作用的唯一问题是“num”和“3”之间的空格。如果文档正确,您只需更改:

pyautogui.press("num 3")
致:

也许有一些帮助:
pyautogui.press("num3")