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 random
from 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 Initialize
if 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%。