首页新闻找找看学习计划

有没有C#用按键精灵的大神?

1
悬赏园豆:60 [已解决问题] 解决于 2017-02-21 17:18

因为在一个加密的文本框里面用C#模拟输入无效,各种方式我都试过了,所以我用按键精灵的超级模式写了一个模拟输入的脚本,可以成功模拟,现在问题是这个脚本我生成了小精灵,打开以后按F10或其他设置好的热键都可以模拟输入,但是用C#的SendKeys输入F10也没办法启动小精灵的脚本,必须要手动按F10才行,有什么办法可以通过C#启动小精灵的脚本呢?

问题补充:

问题解决了,原来把小精灵设置成软件模式,优先级调到最高就能正常调用了,困扰了几个月的问题解决了,谢谢各位

八八。的主页 八八。 | 初学一级 | 园豆:139
提问于:2016-11-26 14:55
< >
分享
最佳答案
0

普通消息无效,可以试试硬件驱动模拟,比较好用的有WinRing和WinIO.

收获园豆:30
井中叶 | 菜鸟二级 |园豆:232 | 2016-11-28 11:04

WinIO试了很多次都没成功,WinRing没听过,请问你试过吗?

八八。 | 园豆:139 (初学一级) | 2016-11-28 13:46

@JsppQ: 理论上应该没问题的, 你看看这篇文章:http://www.cnblogs.com/ningqhai/p/4236398.html

我用WinRing模拟玩游戏:)

井中叶 | 园豆:232 (菜鸟二级) | 2016-11-28 14:05

@井中叶: 我试过了WinRing,首先得换成PS2的键盘,然后普通模拟是能够成功,但是网银U盾的密码模拟输入不了,该窗口被加密过了,但是按键精灵可以,C#的其他途径能试过的都不行!

八八。 | 园豆:139 (初学一级) | 2016-12-01 13:19

@JsppQ: "但是用C#的SendKeys输入F10也没办法启动小精灵的脚本,必须要手动按F10才行,有什么办法可以通过C#启动小精灵的脚本呢?"

F10这种功能按键,用keybd_event就可以,不需要指定窗口.

[DllImport("user32.dll", EntryPoint = "keybd_event")]
public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);

keybd_event((byte)Keys.F10, 0, 0, 0);
Delay(10);
keybd_event((byte)Keys.F10, 0, 2, 0);

井中叶 | 园豆:232 (菜鸟二级) | 2016-12-01 15:59
其他回答(3)
0

消息通常不能通过,试试系统的虚拟键盘,按键精灵也就是那么实现的,再往下也超出c#的能力范围了。

收获园豆:10
花飘水流兮 | 园豆:10601 (专家六级) | 2016-11-26 23:12

试试系统的虚拟键盘,这个C#怎么调用的啊?找到软键盘的程序启动了以后模拟鼠标移到F10上去点击一下?

支持(0) 反对(0) 八八。 | 园豆:139 (初学一级) | 2016-11-28 13:45

@JsppQ: windows系统提供了直接API,记得获取出来是个256的数组,以前用这个写了小外挂,你查一下“设置键盘设备”相关的API,不需要用到WinIO。

支持(0) 反对(0) 花飘水流兮 | 园豆:10601 (专家六级) | 2016-11-28 14:10
0

试试用c#启动cmd命令脚本,cmd模拟F11按键

收获园豆:10
蓝色之猫 | 园豆:283 (菜鸟二级) | 2016-11-29 16:11

这个怎么弄?我本身就是一个客户端程序,内嵌了Webbrowser的,再开一个命令窗口?

支持(0) 反对(0) 八八。 | 园豆:139 (初学一级) | 2016-11-29 19:59
0

https://github.com/Hellerz/FairyKey

引入了大漠插件,魔兽世界自动钓鱼按键精灵,可以参考下

收获园豆:10
海の浪 | 园豆:212 (菜鸟二级) | 2016-11-30 18:26

我之前就引入了大漠插件,切换到文本框就能自动输入,切换到网银的U盾密码窗口就不能输入了!但是按键精灵的超级模式又可以!!但但是我在C#里面设了大漠的超级模式又不行!!!

支持(0) 反对(0) 八八。 | 园豆:139 (初学一级) | 2016-12-01 19:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册