songip02 发表于 2021-7-11 16:47

易语言不知道怎么调用一个DLL的问题

刚刚在网上下载了一个DLL文件!DX后台模拟键盘输入的DLL,但是不知道怎么调用到易语言里面使用!

README 这个TXT是说明文件



然手我在易语言新建一个DLL声明。




新建按钮事件,调用这个函数!



然后运行,提示这个



没找到,然后在网上下载了一个DLL函数查看器,发现没有这个函数!



而且这4个函数的参数都是0 没有传递参数! 大佬们,帮我看看怎么能让他跑起来!

附件为什么不能上传rar,不能上传啊!

说明文件TXT内容如下!

命令 dxkeydown(句柄,"按键")
第一次使用需要花费5秒钟来绑定游戏进程,之后就会很快,直接向dx发送数据

按键对应如下(来自directx文档): 比如要发送TAB按键,就用 plugin.dxkey.dxkeydown(h,"tab")
比如要发送~按键,就用 dxkeydown(h,"grave")
ESCAPE          = $01;
{$EXTERNALSYM ESCAPE}
1               = $02;
{$EXTERNALSYM 1}
2               = $03;
{$EXTERNALSYM 2}
3               = $04;
{$EXTERNALSYM 3}
4               = $05;
{$EXTERNALSYM 4}
5               = $06;
{$EXTERNALSYM 5}
6               = $07;
{$EXTERNALSYM 6}
7               = $08;
{$EXTERNALSYM 7}
8               = $09;
{$EXTERNALSYM 8}
9               = $0A;
{$EXTERNALSYM 9}
0               = $0B;
{$EXTERNALSYM 0}
MINUS         = $0C;    (* - on main keyboard *)
{$EXTERNALSYM MINUS}
EQUALS          = $0D;
{$EXTERNALSYM EQUALS}
BACK            = $0E;    (* backspace *)
{$EXTERNALSYM BACK}
TAB             = $0F;
{$EXTERNALSYM TAB}
Q               = $10;
{$EXTERNALSYM Q}
W               = $11;
{$EXTERNALSYM W}
E               = $12;
{$EXTERNALSYM E}
R               = $13;
{$EXTERNALSYM R}
T               = $14;
{$EXTERNALSYM T}
Y               = $15;
{$EXTERNALSYM Y}
U               = $16;
{$EXTERNALSYM U}
I               = $17;
{$EXTERNALSYM I}
O               = $18;
{$EXTERNALSYM O}
P               = $19;
{$EXTERNALSYM P}
LBRACKET      = $1A;
{$EXTERNALSYM LBRACKET}
RBRACKET      = $1B;
{$EXTERNALSYM RBRACKET}
RETURN          = $1C;    (* Enter on main keyboard *)
{$EXTERNALSYM RETURN}
LCONTROL      = $1D;
{$EXTERNALSYM LCONTROL}
A               = $1E;
{$EXTERNALSYM A}
S               = $1F;
{$EXTERNALSYM S}
D               = $20;
{$EXTERNALSYM D}
F               = $21;
{$EXTERNALSYM F}
G               = $22;
{$EXTERNALSYM G}
H               = $23;
{$EXTERNALSYM H}
J               = $24;
{$EXTERNALSYM J}
K               = $25;
{$EXTERNALSYM K}
L               = $26;
{$EXTERNALSYM L}
SEMICOLON       = $27;
{$EXTERNALSYM SEMICOLON}
APOSTROPHE      = $28;
{$EXTERNALSYM APOSTROPHE}
GRAVE         = $29;    (* accent grave *)
{$EXTERNALSYM GRAVE}
LSHIFT          = $2A;
{$EXTERNALSYM LSHIFT}
BACKSLASH       = $2B;
{$EXTERNALSYM BACKSLASH}
Z               = $2C;
{$EXTERNALSYM Z}
X               = $2D;
{$EXTERNALSYM X}
C               = $2E;
{$EXTERNALSYM C}
V               = $2F;
{$EXTERNALSYM V}
B               = $30;
{$EXTERNALSYM B}
N               = $31;
{$EXTERNALSYM N}
M               = $32;
{$EXTERNALSYM M}
COMMA         = $33;
{$EXTERNALSYM COMMA}
PERIOD          = $34;    (* . on main keyboard *)
{$EXTERNALSYM PERIOD}
SLASH         = $35;    (* / on main keyboard *)
{$EXTERNALSYM SLASH}
RSHIFT          = $36;
{$EXTERNALSYM RSHIFT}
MULTIPLY      = $37;    (* * on numeric keypad *)
{$EXTERNALSYM MULTIPLY}
LMENU         = $38;    (* left Alt *)
{$EXTERNALSYM LMENU}
SPACE         = $39;
{$EXTERNALSYM SPACE}
CAPITAL         = $3A;
{$EXTERNALSYM CAPITAL}
F1            = $3B;
{$EXTERNALSYM F1}
F2            = $3C;
{$EXTERNALSYM F2}
F3            = $3D;
{$EXTERNALSYM F3}
F4            = $3E;
{$EXTERNALSYM F4}
F5            = $3F;
{$EXTERNALSYM F5}
F6            = $40;
{$EXTERNALSYM F6}
F7            = $41;
{$EXTERNALSYM F7}
F8            = $42;
{$EXTERNALSYM F8}
F9            = $43;
{$EXTERNALSYM F9}
F10             = $44;
{$EXTERNALSYM F10}
NUMLOCK         = $45;
{$EXTERNALSYM NUMLOCK}
SCROLL          = $46;    (* Scroll Lock *)
{$EXTERNALSYM SCROLL}
NUMPAD7         = $47;
{$EXTERNALSYM NUMPAD7}
NUMPAD8         = $48;
{$EXTERNALSYM NUMPAD8}
NUMPAD9         = $49;
{$EXTERNALSYM NUMPAD9}
SUBTRACT      = $4A;    (* - on numeric keypad *)
{$EXTERNALSYM SUBTRACT}
NUMPAD4         = $4B;
{$EXTERNALSYM NUMPAD4}
NUMPAD5         = $4C;
{$EXTERNALSYM NUMPAD5}
NUMPAD6         = $4D;
{$EXTERNALSYM NUMPAD6}
ADD             = $4E;    (* + on numeric keypad *)
{$EXTERNALSYM ADD}
NUMPAD1         = $4F;
{$EXTERNALSYM NUMPAD1}
NUMPAD2         = $50;
{$EXTERNALSYM NUMPAD2}
NUMPAD3         = $51;
{$EXTERNALSYM NUMPAD3}
NUMPAD0         = $52;
{$EXTERNALSYM NUMPAD0}
DECIMAL         = $53;    (* . on numeric keypad *)
{$EXTERNALSYM DECIMAL}
OEM_102         = $56;    (* <> or \| on RT 102-key keyboard (Non-U.S.) *)
{$EXTERNALSYM OEM_102}
F11             = $57;
{$EXTERNALSYM F11}
F12             = $58;
{$EXTERNALSYM F12}
F13             = $64;    (*                     (NEC PC98) *)
{$EXTERNALSYM F13}
F14             = $65;    (*                     (NEC PC98) *)
{$EXTERNALSYM F14}
F15             = $66;    (*                     (NEC PC98) *)
{$EXTERNALSYM F15}
KANA            = $70;    (* (Japanese keyboard)            *)
{$EXTERNALSYM KANA}
ABNT_C1         = $73;    (* /? on Brazilian keyboard *)
{$EXTERNALSYM ABNT_C1}
CONVERT         = $79;    (* (Japanese keyboard)            *)
{$EXTERNALSYM CONVERT}
NOCONVERT       = $7B;    (* (Japanese keyboard)            *)
{$EXTERNALSYM NOCONVERT}
YEN             = $7D;    (* (Japanese keyboard)            *)
{$EXTERNALSYM YEN}
ABNT_C2         = $7E;    (* Numpad . on Brazilian keyboard *)
{$EXTERNALSYM ABNT_C2}
NUMPADEQUALS    = $8D;    (* = on numeric keypad (NEC PC98) *)
{$EXTERNALSYM NUMPADEQUALS}
PREVTRACK       = $90;    (* Previous Track (CIRCUMFLEX on Japanese keyboard) *)
{$EXTERNALSYM PREVTRACK}
AT            = $91;    (*                     (NEC PC98) *)
{$EXTERNALSYM AT}
COLON         = $92;    (*                     (NEC PC98) *)
{$EXTERNALSYM COLON}
UNDERLINE       = $93;    (*                     (NEC PC98) *)
{$EXTERNALSYM UNDERLINE}
KANJI         = $94;    (* (Japanese keyboard)            *)
{$EXTERNALSYM KANJI}
STOP            = $95;    (*                     (NEC PC98) *)
{$EXTERNALSYM STOP}
AX            = $96;    (*                     (Japan AX) *)
{$EXTERNALSYM AX}
UNLABELED       = $97;    (*                        (J3100) *)
{$EXTERNALSYM UNLABELED}
NEXTTRACK       = $99;    (* Next Track *)
{$EXTERNALSYM NEXTTRACK}
NUMPADENTER   = $9C;    (* Enter on numeric keypad *)
{$EXTERNALSYM NUMPADENTER}
RCONTROL      = $9D;
{$EXTERNALSYM RCONTROL}
MUTE            = $A0;    (* Mute *)
{$EXTERNALSYM MUTE}
CALCULATOR      = $A1;    (* Calculator *)
{$EXTERNALSYM CALCULATOR}
PLAYPAUSE       = $A2;    (* Play / Pause *)
{$EXTERNALSYM PLAYPAUSE}
MEDIASTOP       = $A4;    (* Media Stop *)
{$EXTERNALSYM MEDIASTOP}
VOLUMEDOWN      = $AE;    (* Volume - *)
{$EXTERNALSYM VOLUMEDOWN}
VOLUMEUP      = $B0;    (* Volume + *)
{$EXTERNALSYM VOLUMEUP}
WEBHOME         = $B2;    (* Web home *)
{$EXTERNALSYM WEBHOME}
NUMPADCOMMA   = $B3;    (* , on numeric keypad (NEC PC98) *)
{$EXTERNALSYM NUMPADCOMMA}
DIVIDE          = $B5;    (* / on numeric keypad *)
{$EXTERNALSYM DIVIDE}
SYSRQ         = $B7;
{$EXTERNALSYM SYSRQ}
RMENU         = $B8;    (* right Alt *)
{$EXTERNALSYM RMENU}
PAUSE         = $C5;    (* Pause *)
{$EXTERNALSYM PAUSE}
HOME            = $C7;    (* Home on arrow keypad *)
{$EXTERNALSYM HOME}
UP            = $C8;    (* UpArrow on arrow keypad *)
{$EXTERNALSYM UP}
PRIOR         = $C9;    (* PgUp on arrow keypad *)
{$EXTERNALSYM PRIOR}
LEFT            = $CB;    (* LeftArrow on arrow keypad *)
{$EXTERNALSYM LEFT}
RIGHT         = $CD;    (* RightArrow on arrow keypad *)
{$EXTERNALSYM RIGHT}
END             = $CF;    (* End on arrow keypad *)
{$EXTERNALSYM END}
DOWN            = $D0;    (* DownArrow on arrow keypad *)
{$EXTERNALSYM DOWN}
NEXT            = $D1;    (* PgDn on arrow keypad *)
{$EXTERNALSYM NEXT}
INSERT          = $D2;    (* Insert on arrow keypad *)
{$EXTERNALSYM INSERT}
DELETE          = $D3;    (* Delete on arrow keypad *)
{$EXTERNALSYM DELETE}
LWIN            = $DB;    (* Left Windows key *)
{$EXTERNALSYM LWIN}
RWIN            = $DC;    (* Right Windows key *)
{$EXTERNALSYM RWIN}
APPS            = $DD;    (* AppMenu key *)
{$EXTERNALSYM APPS}
POWER         = $DE;    (* System Power *)
{$EXTERNALSYM POWER}
SLEEP         = $DF;    (* System Sleep *)
{$EXTERNALSYM SLEEP}
WAKE            = $E3;    (* System Wake *)
{$EXTERNALSYM WAKE}
WEBSEARCH       = $E5;    (* Web Search *)
{$EXTERNALSYM WEBSEARCH}
WEBFAVORITES    = $E6;    (* Web Favorites *)
{$EXTERNALSYM WEBFAVORITES}
WEBREFRESH      = $E7;    (* Web Refresh *)
{$EXTERNALSYM WEBREFRESH}
WEBSTOP         = $E8;    (* Web Stop *)
{$EXTERNALSYM WEBSTOP}
WEBFORWARD      = $E9;    (* Web Forward *)
{$EXTERNALSYM WEBFORWARD}
WEBBACK         = $EA;    (* Web Back *)
{$EXTERNALSYM WEBBACK}
MYCOMPUTER      = $EB;    (* My Computer *)
{$EXTERNALSYM MYCOMPUTER}
MAIL            = $EC;    (* Mail *)
{$EXTERNALSYM MAIL}
MEDIASELECT   = $ED;    (* Media Select *)
{$EXTERNALSYM MEDIASELECT}

多开时请使用createobject("dxkey.kbd")创建多个对象,速度飞快哦

还有2个命令我测试用的,不推荐使用,sethandle(只是注入游戏进程)和dxkdown(只是发送键盘数据)






斗战胜猴 发表于 2021-7-11 17:16

不防试试这个思路

songip02 发表于 2021-7-11 17:22

斗战胜猴 发表于 2021-7-11 17:16
不防试试这个思路

键盘模拟输入时调用的系统API,对DX窗口是没反应的!!!

风之伤 发表于 2021-7-11 18:20

这是COM接口函数,先要注册dll到系统,然后创建obj调用

揰掵佲 发表于 2021-7-12 08:37

对象.创建()
对象.方法("")

黑黑的馒头 发表于 2021-7-12 09:10

用大漠吧方便点

boxer 发表于 2021-7-12 09:22

本帖最后由 boxer 于 2021-7-12 09:56 编辑

dll发上来啊
是硬件级模拟吗?

chinasniu 发表于 2021-7-12 11:29

易语言不知道怎么调用一个DLL的问题

斗战胜猴 发表于 2021-7-13 11:14

songip02 发表于 2021-7-11 17:22
键盘模拟输入时调用的系统API,对DX窗口是没反应的!!!

那就试试这个好了
页: [1]
查看完整版本: 易语言不知道怎么调用一个DLL的问题