我们准备在python中调用按键精灵的大漠插件来完成模拟驱动的鼠标键盘操作。大漠 综合 插件 (dm.dll)采用vc6.0编写,识别速度超级快! 采用COM接口编写,适用于所有语言调用。
网上相关教程极少,我们只能一步步自己摸索。
首先下载大漠核心组件dm.dll,在win10的新版总是出现闪退bug,为了稳定性,选择比较老的3.2xxx版本了。
下载地址
下载解压后,将dm.dll复制到C:\Windows\SysWOW64文件夹里。(显然你应该是64位系统,应该没人用32位了吧)
以管理员方式打开cmd,如果你是windows管理员账号直接打开应该就没问题了
键入:

C:
cd C:\Windows\SysWOW64
regsvr32 dm.dll

大功告成了,注册完成

import win32com.clientdm = win32com.client.Dispatch('dm.dmsoft')  #调用大漠插件
dm.moveto(10,10)

其中win32com帮我们加载了dll文件,直接调用dm.function dm.constant就可以使用插件了,注意有返回值的对象最好写上等于符号,哪怕他返回的变量没有用(vc的语法)

然后运行,发现一长串的报错…
别急,分析报错,我们的python版本一般来说我64位的,而大漠是02年推出的脚本插件,是基于按键精灵和vc语言开发的Active X脚本,它只支持32位。

为了支持插件我们只好下载一个32位的python,下载地址
我下载的是python3.6-32的
下载之后最好把add path勾选,然后把之前64位的path再系统变量里取消掉,之后再讲为什么要这么做。之后呢,如果使用pycharm一定要选好解释器(32位),如果还用了ipython等工具,一定要把默认解释器也相应修改。

当然最简单的就是在visual code加上Ipython模块上编辑啦,你直接替换一下解释器属性就行了。

如果以上配置成功,再运行以上代码。你的输出大概这样,然后鼠标会移到屏幕左上角。

仔细阅读插件文档加调试了一两天之后…
彻底放弃了long SetSimMode(mode)这个函数,这个函数总是返回值为0,提示我未注册,导致我没法进入硬件驱动模式,从而被楚留香屏蔽了脚本输入。

直到今天再读文档发现了这个函数

于是修改代码为如下,保存名字为 test.py
注:这段代码是不可以直接运行的,因为大漠插件要求管理员权限,直接run可能运行失败
运行方法:
1.首先将python3.6-32位的path加入系统变量Path中
2.以管理员身份启动命令行
3.键入 python X:\xxxx(你的路径)\test.py
如果你没添加path,要么去修改path,要么直接cd到python3.6-32位目录下输入该指令

import win32com.client
import win32con
import win32gui
import time
hwnd=win32gui.FindWindow(None,'楚留香')
if(win32gui.IsIconic(hwnd)):win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 300,200,1200,800,win32con.SWP_SHOWWINDOW)
dm = win32com.client.Dispatch('dm.dmsoft')  #调用大漠插件
re=dm.BindWindow(hwnd,"normal","dx2","dx",4)
print(re)
print(dm.GetLastError())
def keydownup(num,times):while True:dm_res=dm.keypress(num)time.sleep(times)
keydownup(27,3)

如果打印值不为1、0,说明配置是有问题
可能导致问题几点:
1.关闭uca,拿win10来说控制面板-安全和维护-关闭所有防火墙-更改用户控制和账户控制设置,拉到最低

2.重启开机按F1,F2和DEL,进入BIOS模式,进入ROOT或者Security选项卡,把Secure Boot 选项的enabled 改为disable

3.将游戏同时也以管理员身份启动

这段代码是每隔3s给楚留香发送1个ESC键,如果这个ESC没被屏蔽掉,证明我们模拟输入就成功了。

然后游戏中显然ESC键生效了,我们已经基本掌握了如何用python+大漠插件方式向“楚留香”发送模拟指令,接下来的逻辑工作无非是确定每个点的坐标,然后进行键位组合即可。

但是还有一个问题没解决,就是如何识别文字。
摆摊界面的价格,机器是不可能自动识别的,我们必须识别出来再与我们理想价格做一个比较,才能辅助我们抢不抢购。

附录:大漠插件虚拟键码
key_str 虚拟键码

"1",          49"2",          50"3",          51"4",          52"5",          53"6",          54"7",          55"8",          56"9",          57"0",          48"-",          189"=",          187"back",       8"a",          65"b",          66"c",          67"d",          68"e",          69"f",          70"g",          71"h",          72"i",          73"j",          74"k",          75"l",          76"m",          77"n",          78"o",          79"p",          80"q",          81"r",          82"s",          83"t",          84"u",          85"v",          86"w",          87"x",          88"y",          89"z",          90"ctrl",       17"alt",        18"shift",      16"win",        91"space",      32"cap",        20"tab",        9"~",          192"esc",        27"enter",      13"up",         38"down",       40"left",       37"right",      39"option",     93"print",      44"delete",     46"home",       36"end",        35"pgup",       33"pgdn",       34"f1",         112"f2",         113"f3",         114"f4",         115"f5",         116"f6",         117"f7",         118"f8",         119"f9",         120"f10",        121"f11",        122"f12",        123"[",          219"]",          221"\\",         220";",          186"'",          222",",          188".",          190"/",          191

python游戏脚本之调用按键精灵插件模拟输入(二)相关推荐

  1. python调用按键精灵插件_按键精灵自动寻路系列换算地图坐标寻路法

    金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚 ...

  2. python调用按键精灵插件_按键精灵——办公常用脚本集锦

    这是奔跑的键盘侠的第123篇文章 临时起意,想想按键精灵的官方视频教程虽然比较有条理,但是毕竟内容有限,甚至重点是在讲游戏挂机.其实很多人都不怎么玩游戏,应用场景一旦转移至办公,很多人可能就有点苍白了 ...

  3. python调用按键精灵插件_按键精灵——如何实现办公自由(四)

    这是奔跑的键盘侠的第174篇文章 作者|我是奔跑的键盘侠 来源|奔跑的键盘侠(ID:runningkeyboardhero) 转载请联系授权(微信ID:ctwott) 前面写的几篇,不知道大家是否能看 ...

  4. python调用按键精灵插件_[LOG]VC++项目导入大漠插件

    0x00 前言 大漠综合插件(dm.dll)采用vc6.0编写,是一款集前后台,文字识别,图色,键鼠,窗口,内存,DX,Call等功能于一身的综合插件. 大漠综合插件(dm.dll)主要用于按键精灵. ...

  5. python调用按键精灵插件_【师兄带你学Python-1】你会涮火锅吗?

    大家好,我是狐狸博士.从今天起,我来和大家聊聊Python自学以及助力咱们科(Rí)研(Cháng)工作的那些事儿.如果你想事半功倍.想按时下班.想按时毕业,再或者你想成为大神玩转数据,请千万不要错过 ...

  6. python调用按键精灵插件_谈一谈火车采集器的插件使用

    ​ 火车采集器.火车浏览器这两款软件大家在平常工作中应该经常使用吧,有数据采集需求和各类公司运营人员想必都亲自使用过这个软件吧! 今天小编就与大家分享下两款软件所支持的插件,并讲解下每款插件的功能.一 ...

  7. python调用按键精灵插件_【一日一技】python模块的懒加载

    在编写python项目时,通常将需要使用的模块直接通过import关键字导入到项目中,如果后续逻辑变动了,这个模块不需要使用,此时这个模块就白引入了,此时可以利用 import 方法实现模块的懒加载. ...

  8. python调用按键精灵插件_开发中IDE的选择?如何在VsCode上配置CC++,Java,Python环境...

    前言 工欲善其事必先利其器,这也是老生常谈的事情了.在做日常开发中,让我感受到一个顺手的开发工具的重要性.截至目前对于不同语言自己也使用过很多开发工具,有一些简单的编辑器例如:notepad++.Ed ...

  9. 锁定计算机按键精灵运行,最新按键精灵脚本代码大全 按键精灵命令运行方法...

    按键精灵脚本代码命令运行大全.按键精灵的鼠标动作录制是一项非常好用的功能,但因为鼠标点击的地方是固定死板的,且延迟时间无法调整,如果在后台脚本中添加一些专用代码,就可以调整点击频率和点击时间,甚至可以 ...

最新文章

  1. 为什么百万医疗险越来越多,到底选哪款?
  2. 字节跳动花50亿买了个什么?
  3. 谷歌SEO和百度SEO的区别
  4. NumPy - np.meshgrid()
  5. Mybatis开发CRUD
  6. Rinne Loves Edges
  7. 《剑指Offer》解题目录(更新完毕)
  8. python 数学公式显示_ipython jupyter notebook中显示图像和数学公式实例
  9. linux学习命令总结⑩②
  10. BP神经网络整定PID
  11. 2022.11.22 英语背诵
  12. oracle+omf+格式,Oracle OMF管理数据文件
  13. 使用免费证书安装 ipa 到真机
  14. ObjectArx自定义实体入门(C++)及注意事项
  15. 注册表中如何查找计算机名,怎么进行注册表搜索
  16. 查看网站服务器版本,查看网站为TLS或SSL及其版本
  17. 交换机Access模式和Trunk模式配置演示
  18. 解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'
  19. [译]集群调度架构的变革 (四)
  20. SettingsProvider简单分析

热门文章

  1. 16G906 装配式混凝土剪力墙结构住宅施工工艺图解
  2. FML翻译 2014.01.14
  3. 学霸爱情!本硕相恋7年,拜入同一导师门下,现又携手读博
  4. 转载:JavaScript加密解密7种方法
  5. SQL Server2000 版本区别及安装图解
  6. Java基础——网络编程
  7. html期末作业代码网页设计——电影请以你的名字呼唤我(4页) 大学生简单个人静态HTML网页设计作品 DIY布局个人介绍网页模板代码
  8. 宠物属性控制_pet
  9. 身份证名字转四六级成绩爬虫
  10. 如何使用Adobe Acrobat DC统一页面大小?