DD驱动级模拟鼠键(亲测)
第一步:官网下载DD
http://www.ddxoft.com/
第二步:解压后 master-master文件夹下有Driver和Example两个文件夹:
分别将Driver下面的General和Simple下面的drv.win10下面的setup、install运行安装。
安装Example下面的DD.key.code
第三步:查看master-master\Example下面的App_python里面的py文件,这是python调用的例子。第四步:归纳调用的方法:
import time
import win32api
import randomfrom ctypes import *class OpKeyboard(object):def __init__(self):path = r"D:\master-master\Drivers\1.Simple\DD94687.64.dll"self.dd_dll = windll.LoadLibrary(path)st = self.dd_dll.DD_btn(0) # DD Initializeif st == 1:print("OK")else:print("Error")exit(101)# DD虚拟码,可以用DD内置函数转换。self.vk = {'5': 205, 'c': 503, 'n': 506, 'z': 501, '3': 203, '1': 201, 'd': 403, '0': 210, 'l': 409, '8': 208, 'w': 302, 'u': 307, '4': 204, 'e': 303, '[': 311, 'f': 404, 'y': 306, 'x': 502, 'g': 405, 'v': 504, 'r': 304, 'i': 308, 'a': 401, 'm': 507, 'h': 406, '.': 509, ',': 508, ']': 312, '/': 510, '6': 206,'2': 202, 'b': 505, 'k': 408, '7': 207, 'q': 301, "'": 411, '\\': 313, 'j': 407, '`': 200, '9': 209,'p': 310, 'o': 309, 't': 305, '-': 211, '=': 212, 's': 402, ';': 410}# 需要组合shift的按键。self.vk2 = {'"': "'", '#': '3', ')': '0', '^': '6', '?': '/', '>': '.', '<': ',', '+': '=', '*': '8', '&': '7', '{': '[', '_': '-', '|': '\\', '~': '`', ':': ';', '$': '4', '}': ']', '%': '5', '@': '2', '!': '1', '(': '9'}def down_up(self, code):# 进行一组按键。(1:按下;2:抬起)self.dd_dll.DD_key(self.vk[code], 1)time.sleep(0.1)self.dd_dll.DD_key(self.vk[code], 2)time.sleep(random.choice([0.4, 0.5, 0.6, 0.7, 0.8]))def dd(self, i):if i.isupper():# 如果想输入大写,先按下shift,再输入字母,然后松掉shift。# 按下抬起。self.dd_dll.DD_key(500, 1)self.down_up(i.lower())self.dd_dll.DD_key(500, 2)elif i in '~!@#$%^&*()_+{}|:"<>?':# 输入特殊字符一样的道理。self.dd_dll.DD_key(500, 1)self.down_up(self.vk2[i])self.dd_dll.DD_key(500, 2)else:# 输入常规的字符self.down_up(i.lower())def click(self):"""模拟鼠标,位置在鼠标位置"""self.dd_dll.DD_btn(4)self.dd_dll.DD_btn(8)def shifang(self):win32api.FreeLibrary(self.dd_dll._handle)
第五步:调用的例子
dd_dll = windll.LoadLibrary(r"D:\master-master\Drivers\2.General\DD64.dll")
op = OpKeyboard()
op.down_up("1")
op.down_up("9")
op.down_up("8")
op.down_up("s")
op.down_up("t")
op.down_up("r")
op.down_up("i")
op.down_up("n")
op.down_up("g")
# 特殊字符
op.dd("@")
# 500是shift键的电信号,313是enter键的电信号
op.dd_dll.DD_key(500, 1)
time.sleep(0.2)
op.dd_dll.DD_key(500, 2)
time.sleep(1)
其它电信号可以运行master-master\ExampleDD.key.code来查看
其它参考资料:
https://www.jianshu.com/p/60049475f890
https://blog.csdn.net/Bone_ACE/article/details/80765299
注意:pycharm要使用管理员权限打开,电脑的分辨率要是100%。