DD鼠键模拟

  • Post author:
  • Post category:其他



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%。



版权声明:本文为weixin_39823751原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。