您现在的位置是:首页 > 电脑 > 

python代替按键精灵 游戏内失灵_python游戏脚本之调用按键精灵插件模拟输入(二)...

2025-07-24 04:59:52
我们准备在python中调用按键精灵的大漠插件来完成模拟驱动的鼠标键盘操作。大漠 综合 插件 (dm.dll)采用vc6.0编写,识别速度超级快! 采用COM接口编写,适用于所有语言调用。 网上相关教程极少,我们只能一步步自己摸索。 首先下载大漠核心组件dm.dll,在win10的新版总是出现闪退bug,为

我们准备在python中调用按键精灵的大漠插件来完成模拟驱动的鼠标键盘操作。大漠 综合 插件 (dm.dll)采用vc6.0编写,识别速度超级快! 采用COM接口编写,适用于所有语言调用。

网上相关教程极少,我们只能一步步自己摸索。

首先下载大漠核心组件dm.dll,在win10的新版总是出现闪退bug,为了稳定性,选择比较老的.2xxx版本了。

下载地址

下载解压后,将dm.dll复制到C:\Windows\SysWOW64文件夹里。(显然你应该是64位系统,应该没人用2位了吧)

以管理员方式打开cmd,如果你是windows管理员账号直接打开应该就没问题了

键入:

C:

cd C:\Windows\SysWOW64

regsvr2 dm.dll

大功告成了,注册完成

import

dm = .Dispatch( dm.dmsoft ) #调用大漠插件

(10,10)

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

然后运行,发现一长串的报错…

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

为了支持插件我们只好下载一个2位的python,下载地址

我下载的是python.6-2的

下载之后最好把add path勾选,然后把之前64位的path再系统变量里取消掉,之后再讲为什么要这么做。之后呢,如果使用pycharm一定要选好解释器(2位),如果还用了ipython等工具,一定要把默认解释器也相应修改。

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

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

仔细阅读插件文档加调试了一两天之后…

彻底放弃了long SetSimMode(mode)这个函数,这个函数总是返回值为0,提示我未注册,导致我没法进入硬件驱动模式,从而被楚留香屏蔽了脚本输入。

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

于是修改代码为如下,保存名字为 test.py

注:这段代码是不可以直接运行的,因为大漠插件要求管理员权限,直接run可能运行失败

运行方法:

1.首先将python.6-2位的path加入系统变量Path中

2.以管理员身份启动命令行

.键入 python X:\xxxx(你的路径)\test.py

如果你没添加path,要么去修改path,要么直接cd到python.6-2位目录下输入该指令

import

import win2con

import win2gui

import time

hwnd=win2gui.FindWindow(one, 楚留香 )

if(win2gui.IsIconic(hwnd)):

win2gui.ShowWindow(hwnd, win2con.SW_RESTORE)

win2gui.SetWindowPos(hwnd, win2con.HWD_TOPMOST, 00,200,1200,800,win2con.SWP_SHOWWIDOW)

dm = .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,)

如果打印值不为1、0,说明配置是有问题

可能导致问题几点:

1.关闭uca,拿win10来说控制面板-安全和维护-关闭所有防火墙-更改用户控制和账户控制设置,拉到最低

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

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

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

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

但是还有一个问题没解决,就是如何识别文字。

摆摊界面的价格,机器是不可能自动识别的,我们必须识别出来再与我们理想价格做一个比较,才能辅助我们抢不抢购。

附录:大漠插件虚拟键码

key_str 虚拟键码

1, 49

2, 50

, 51

4, 52

5, 5

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, 7

j, 74

k, 75

l, 76

m, 77

n, 78

o, 79

p, 80

q, 81

r, 82

s, 8

t, 84

u, 85

v, 86

w, 87

x, 88

y, 89

z, 90

ctrl, 17

alt, 18

shift, 16

win, 91

space, 2

cap, 20

tab, 9

~, 192

esc, 27

enter, 1

up, 8

down, 40

left, 7

right, 9

option, 9

print, 44

delete, 46

home, 6

end, 5

pgup,

pgdn, 4

f1, 112

f2, 11

f, 114

f4, 115

f5, 116

f6, 117

f7, 118

f8, 119

f9, 120

f10, 121

f11, 122

f12, 12

[, 219

], 221

\\, 220

;, 186

 , 222

,, 188

., 190

/, 191

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/diannao/213155.html

相关标签:无
上传时间: 2023-05-10 07:03:12
留言与评论(共有 9 条评论)
本站网友 黑客x档案
30分钟前 发表
20 tab
本站网友 小泽圆电影
17分钟前 发表
79 p
本站网友 肩周炎偏方
11分钟前 发表
51 4
本站网友 扭痧
25分钟前 发表
while True
本站网友 天龙八部暗器
29分钟前 发表
(显然你应该是64位系统,应该没人用2位了吧) 以管理员方式打开cmd,如果你是windows管理员账号直接打开应该就没问题了 键入: C
本站网友 小熊论坛
6分钟前 发表
16 win
本站网友 沙盘治疗
13分钟前 发表
76 m
本站网友 柿子的产地
23分钟前 发表
65 b