Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在python中模拟物理按键,而不提升LowLevelKeyHookInjected(0x10)标志_Python 3.x_Emulation_Simulation_Keypress_Keyboard Events - Fatal编程技术网

Python 3.x 在python中模拟物理按键,而不提升LowLevelKeyHookInjected(0x10)标志

Python 3.x 在python中模拟物理按键,而不提升LowLevelKeyHookInjected(0x10)标志,python-3.x,emulation,simulation,keypress,keyboard-events,Python 3.x,Emulation,Simulation,Keypress,Keyboard Events,我试图在python中模拟一个物理按键(即F12),而不在Windows中提升LowLevelKeyHookInjected(0x10)标志。其目的是在程序中触发一个动作,过滤掉模拟键盘按键。该程序是一种辅助技术,为操作系统控制提供了替代访问方法 我已经尝试了很多选项,包括SendKeys、pyauotogui、pynput、ctype等等 如果我实际按下F12,我可以触发适当的操作,但是,使用上述方法通过python模拟F12按下和释放是不起作用的。以下是我尝试过的一个例子: import p

我试图在python中模拟一个物理按键(即F12),而不在Windows中提升LowLevelKeyHookInjected(0x10)标志。其目的是在程序中触发一个动作,过滤掉模拟键盘按键。该程序是一种辅助技术,为操作系统控制提供了替代访问方法

我已经尝试了很多选项,包括SendKeys、pyauotogui、pynput、ctype等等

如果我实际按下F12,我可以触发适当的操作,但是,使用上述方法通过python模拟F12按下和释放是不起作用的。以下是我尝试过的一个例子:

import pynput.keyboard import Key, Controller
import time
Keyboard = Controller()
keyboard.press(Key.f12)
time.sleep(.05)
keyboard.release(Key.f12)
因此,它只是模拟f12按键,等待.05秒,然后释放按键

我正在Windows上运行Python 3.6.6


提前感谢您的帮助

这是我几天前遇到同样问题时使用的。虽然有点凌乱,但它完成了任务。:)

只需使用F12()来模拟F12键

如果您还想模拟其他键,您可以将F12函数中的where is says 0x7B更改为其他键(查看msdn.microsoft.com/en-us/library/dd375731以查找哪些键具有什么值)。 要模拟字母,这可能有助于快速转换:

def toKeyCode(c):
    keyCode = keyCodeMap[c[0]]
    return int(keyCode, base=16)

keyCodeMap = {
    'shift'             : "0x10",
    '0'                 : "0x30",
    '1'                 : "0x31",
    '2'                 : "0x32",
    '3'                 : "0x33",
    '4'                 : "0x34",
    '5'                 : "0x35",
    '6'                 : "0x36",
    '7'                 : "0x37",
    '8'                 : "0x38",
    '9'                 : "0x39",
    'a'                 : "0x41",
    'b'                 : "0x42",
    'c'                 : "0x43",
    'd'                 : "0x44",
    'e'                 : "0x45",
    'f'                 : "0x46",
    'g'                 : "0x47",
    'h'                 : "0x48",
    'i'                 : "0x49",
    'j'                 : "0x4A",
    'k'                 : "0x4B",
    'l'                 : "0x4C",
    'm'                 : "0x4D",
    'n'                 : "0x4E",
    'o'                 : "0x4F",
    'p'                 : "0x50",
    'q'                 : "0x51",
    'r'                 : "0x52",
    's'                 : "0x53",
    't'                 : "0x54",
    'u'                 : "0x55",
    'v'                 : "0x56",
    'w'                 : "0x57",
    'x'                 : "0x58",
    'y'                 : "0x59",
    'z'                 : "0x5A",
}

(这也是我的第一篇帖子,如果我把事情搞砸了,我很抱歉:D)

这是我几天前遇到同样问题时使用的。虽然有点凌乱,但它完成了任务。:)

只需使用F12()来模拟F12键

如果您还想模拟其他键,您可以将F12函数中的where is says 0x7B更改为其他键(查看msdn.microsoft.com/en-us/library/dd375731以查找哪些键具有什么值)。 要模拟字母,这可能有助于快速转换:

def toKeyCode(c):
    keyCode = keyCodeMap[c[0]]
    return int(keyCode, base=16)

keyCodeMap = {
    'shift'             : "0x10",
    '0'                 : "0x30",
    '1'                 : "0x31",
    '2'                 : "0x32",
    '3'                 : "0x33",
    '4'                 : "0x34",
    '5'                 : "0x35",
    '6'                 : "0x36",
    '7'                 : "0x37",
    '8'                 : "0x38",
    '9'                 : "0x39",
    'a'                 : "0x41",
    'b'                 : "0x42",
    'c'                 : "0x43",
    'd'                 : "0x44",
    'e'                 : "0x45",
    'f'                 : "0x46",
    'g'                 : "0x47",
    'h'                 : "0x48",
    'i'                 : "0x49",
    'j'                 : "0x4A",
    'k'                 : "0x4B",
    'l'                 : "0x4C",
    'm'                 : "0x4D",
    'n'                 : "0x4E",
    'o'                 : "0x4F",
    'p'                 : "0x50",
    'q'                 : "0x51",
    'r'                 : "0x52",
    's'                 : "0x53",
    't'                 : "0x54",
    'u'                 : "0x55",
    'v'                 : "0x56",
    'w'                 : "0x57",
    'x'                 : "0x58",
    'y'                 : "0x59",
    'z'                 : "0x5A",
}
(这也是我的第一篇帖子,如果我把事情搞砸了,我很抱歉:D)