因为在一个加密的文本框里面用C#模拟输入无效,各种方式我都试过了,所以我用按键精灵的超级模式写了一个模拟输入的脚本,可以成功模拟,现在问题是这个脚本我生成了小精灵,打开以后按F10或其他设置好的热键都可以模拟输入,但是用C#的SendKeys输入F10也没办法启动小精灵的脚本,必须要手动按F10才行,有什么办法可以通过C#启动小精灵的脚本呢?
问题解决了,原来把小精灵设置成软件模式,优先级调到最高就能正常调用了,困扰了几个月的问题解决了,谢谢各位
普通消息无效,可以试试硬件驱动模拟,比较好用的有WinRing和WinIO.
WinIO试了很多次都没成功,WinRing没听过,请问你试过吗?
@JsppQ: 理论上应该没问题的, 你看看这篇文章:http://www.cnblogs.com/ningqhai/p/4236398.html
我用WinRing模拟玩游戏:)
@井中叶: 我试过了WinRing,首先得换成PS2的键盘,然后普通模拟是能够成功,但是网银U盾的密码模拟输入不了,该窗口被加密过了,但是按键精灵可以,C#的其他途径能试过的都不行!
@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);
消息通常不能通过,试试系统的虚拟键盘,按键精灵也就是那么实现的,再往下也超出c#的能力范围了。
试试系统的虚拟键盘,这个C#怎么调用的啊?找到软键盘的程序启动了以后模拟鼠标移到F10上去点击一下?
@JsppQ: windows系统提供了直接API,记得获取出来是个256的数组,以前用这个写了小外挂,你查一下“设置键盘设备”相关的API,不需要用到WinIO。
试试用c#启动cmd命令脚本,cmd模拟F11按键
这个怎么弄?我本身就是一个客户端程序,内嵌了Webbrowser的,再开一个命令窗口?
https://github.com/Hellerz/FairyKey
引入了大漠插件,魔兽世界自动钓鱼按键精灵,可以参考下
我之前就引入了大漠插件,切换到文本框就能自动输入,切换到网银的U盾密码窗口就不能输入了!但是按键精灵的超级模式又可以!!但但是我在C#里面设了大漠的超级模式又不行!!!