开发DNF连点功能时,常规的PyMouse PyKeyboard无效

猜测原因是DNF屏蔽了模拟信号

尝试使用驱动级按键

作者:石头三颗
链接:https://www.zhihu.com/question/42888871/answer/385506293
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

比如DD虚拟键盘虚拟鼠标

这个官方例子里就有python下如何调用的例子:

from ctypes import *import time# 注册DD DLL,64位python用64位,32位用32位,具体看DD说明文件。
# 测试用免安装版。
# 用哪个就调用哪个的dll文件。
dd_dll = windll.LoadLibrary('ddx64.dll')# DD虚拟码,可以用DD内置函数转换。
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的按键。
vk2 = {'"': "'", '#': '3', ')': '0', '^': '6', '?': '/', '>': '.', '<': ',', '+': '=', '*': '8', '&': '7', '{': '[', '_': '-','|': '\\', '~': '`', ':': ';', '$': '4', '}': ']', '%': '5', '@': '2', '!': '1', '(': '9'}def down_up(code):# 进行一组按键。dd_dll.DD_key(vk[code], 1)dd_dll.DD_key(vk[code], 2)def dd(key):# 500是shift键码。if i.isupper():# 如果是一个大写的玩意。# 按下抬起。dd_dll.DD_key(500, 1)down_up(i.lower())dd_dll.DD_key(500, 2)elif i in '~!@#$%^&*()_+{}|:"<>?':# 如果是需要这样按键的玩意。dd_dll.DD_key(500, 1)down_up(vk2[i])dd_dll.DD_key(500, 2)else:down_up(i)input("按任意键继续...")
# 之后等待两秒。
time.sleep(2)# 测试按键。
for i in 'http://www.ddxoft.com':dd(i)# 需要注意的问题。
# 若同时开启两个脚本,第二个脚本会调用失败。驱动会加载错误。
# 这个错误可以被Python捕获。# 网络错误会成功启动脚本,但是按键不会有效果,需要重新启动脚本。
# 这个错误无法被Python捕获。
# 这个错误可以用dd_dll的内置函数测试是否加载成功来确定。

代码晚上回家进行一波测试

DD64文件需更新 须加群 不测了 。

Python调用驱动级按键--DD虚拟键盘相关推荐

  1. Python获取鼠标位置,虚拟键盘操作

    Python获取鼠标位置,虚拟键盘操作 PS: 也是从网上各个帖子中学习的Python,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除 代码转载:https://blog.csdn ...

  2. 易语言dd驱动模拟按键模块_DD虚拟键盘虚拟鼠标

    简介: 最多用户选择,最简单易用,最稳定可靠 永久免费 系统底层集成,真正的驱动级硬件模拟 一键安装,即为电脑添加一对可完全编程控制的键盘鼠标,轻松自动化操作电脑 适用VB6,DELPHI,VC,BC ...

  3. MTK 虚拟键盘与输入法

    一.    虚拟键盘 Typedef struct { BOOLenable_dead_key; S16n_matrix_layout; S16n_custom_keys;               ...

  4. delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收

    delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收 今天,群里有几位同学讨论这个问题,汇总了一下,分享出来,供同学们学习研究. 一.直接上代码示例 1.屏蔽应 ...

  5. android 虚拟键盘改变单个按键颜色_这款机械键盘很特别!一亿次按键寿命还有高颜值...

    电脑主机要上RGB,那外设自然不能落下,虽说没有60%性能加成,用炫酷的灯光点亮桌面的感觉也是不错的.德国老牌外设品牌--冰豹(ROCCAT)2018年发布了Vulcan系列机械键盘,凭借着独特的设计 ...

  6. ubuntu下qt模拟键盘按键按下_基于QT的跨平台虚拟键盘设计与实现

    摘  要: 针对QT在Windows.Linux.以及嵌入式Linux-arm等不同平台下没有开源.高效的虚拟键盘(包含中文输入法),以及QT版本升级造成代码不兼容等问题,设计并实现了一个跨平台的虚拟 ...

  7. USB转蓝牙hid键鼠按键精灵控制手机虚拟键盘、虚拟触摸等功能

    #USB转蓝牙hid键鼠按键精灵控制手机虚拟键盘.虚拟触摸等功能 提示:目的是为了实现通过电脑控制,达到手机虚拟触摸的功能 简单介绍 提示:开放协议,可再行开发,提供C# python c++ 等开发 ...

  8. Qt-Arm交叉编译以及调用虚拟键盘(中英)

    环境:Qt5.15.1 交叉编译链:海思的板子,arm-himix200-linux- demo代码:Qt-Qml混合编程 第一步:环境搭建 1:从官网下载源码https://download.qt. ...

  9. c#调用windows虚拟键盘

    调用windows自带的tabtip.exe来调用虚拟键盘. 我们在textBox获取焦点时候进行调用虚拟键盘 private void textBox_GotFocus(object sender, ...

最新文章

  1. Qt Style Sheet 翻译(中)--类似css
  2. Docker+Tomcat+geoserver+shp发布地图服务
  3. LNMP环境添加第三方模块
  4. C++ STL一些注意事项
  5. SQL Server含逗号分隔的数据匹配维表
  6. NHibernate文档翻译--体系结构
  7. Docker小结(五)
  8. 通过xmlhttp实现-报告归档
  9. C语言99乘法表代码案例
  10. SAP注塑行业ERP系统软件的分析
  11. 单片机c语言小波阈值降噪,一种基于改进阈值函数的小波阈值降噪算法
  12. 带有风的诗词_含有风的诗句_诗词完美版
  13. 个人域名快速备案需要哪些资料
  14. AliExpress绑定万事达虚拟信用卡(Mastercard)测试实操教程
  15. 如何在IDEA中写Java程序
  16. windows10 更换密码
  17. 一秒看懂:SaaS软件和传统软件的区别!
  18. SpringCloud使用@Aspect面向切面处理Web请求日志
  19. (链表)Java 求解环形链表 II
  20. java计算器程序代码,图形化界面

热门文章

  1. 888道Java高级面试题,JDK、JRE与JVM的区别与联系
  2. 混合整数线性规划问题 Matlab
  3. git基础教程(37) git push origin HEAD:refs/for/master 的意思
  4. 100条牛的话《转》
  5. 分享:我们的八卦精神!
  6. win10桌面左下角搜索框无法搜索解决办法
  7. Java求最大公约数与最小公倍数
  8. linux给服务器配置ip地址,linux下配置ip地址四种方法(图文方法)
  9. Android仿百度贴吧客户端Loading小球
  10. [Qt C++] 开发一个像素画工具