我是靠谱客的博主 矮小方盒,这篇文章主要介绍python驱动模拟按键在哪_在python中模拟按键,现在分享给大家,希望可以做个参考。

所以我还是用了ctypes。我在阅读了与此主题类似的另一个答案后修改了ctypes代码。完成的代码如下:import ctypes

import time

SendInput = ctypes.windll.user32.SendInput

# C struct redefinitions

PUL = ctypes.POINTER(ctypes.c_ulong)

class KeyBdInput(ctypes.Structure):

_fields_ = [("wVk", ctypes.c_ushort),

("wScan", ctypes.c_ushort),

("dwFlags", ctypes.c_ulong),

("time", ctypes.c_ulong),

("dwExtraInfo", PUL)]

class HardwareInput(ctypes.Structure):

_fields_ = [("uMsg", ctypes.c_ulong),

("wParamL", ctypes.c_short),

("wParamH", ctypes.c_ushort)]

class MouseInput(ctypes.Structure):

_fields_ = [("dx", ctypes.c_long),

("dy", ctypes.c_long),

("mouseData", ctypes.c_ulong),

("dwFlags", ctypes.c_ulong),

("time",ctypes.c_ulong),

("dwExtraInfo", PUL)]

class Input_I(ctypes.Union):

_fields_ = [("ki", KeyBdInput),

("mi", MouseInput),

("hi", HardwareInput)]

class Input(ctypes.Structure):

_fields_ = [("type", ctypes.c_ulong),

("ii", Input_I)]

# Actuals Functions

def PressKey(hexKeyCode):

extra = ctypes.c_ulong(0)

ii_ = Input_I()

ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008, 0, ctypes.pointer(extra) )

x = Input( ctypes.c_ulong(1), ii_ )

ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))

def ReleaseKey(hexKeyCode):

extra = ctypes.c_ulong(0)

ii_ = Input_I()

ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008 | 0x0002, 0, ctypes.pointer(extra) )

x = Input( ctypes.c_ulong(1), ii_ )

ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))

最后

以上就是矮小方盒最近收集整理的关于python驱动模拟按键在哪_在python中模拟按键的全部内容,更多相关python驱动模拟按键在哪_在python中模拟按键内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部