我有一个调用外部程序并自动提示输入密码填写代码。
我想自动化按下“ENTER”键,以便用户不必点击“确定”。
我如何发送ENTER键,外部应用程序?
下面是我的代码,因为它现在代表。
第一行后的密码到应用程序工作正常。
发送ENTER键按下第二行没有任何影响的。
我使用德尔福2010。
//now that we have the control handle, send the password to it
SendMessage(AppHandle,WM_SETTEXT,0,Integer(PChar(pwd)));
//and now push ENTER
SendMessage(AppHandle,WM_KEYDOWN,0,Integer(PChar(#13)));
试试这个
PostMessage(AppHandle, WM_KEYDOWN, VK_RETURN, 0);
再见。
快速回答。 重复使用WM_KEYUP事件最终SendMessage调用。 按键被释放而不是当它被压在有些系统被触发。
一些尝试,直到真正的程序员响应。 (:-)
有几个不同的方式,你可以做你想做的。
第一个和最简单的细节是SendKey32.pas文件。 这个单位专门编写,让你怎么做你问。 这delphi.about.com文章给出了有关单位和什么可以做一个很好的解释。
我已经使用不同的方法亲自启动,因为某些局限性,所以我在SendKey32东西发现。 第二种方法是日志播放消息。 这是一种Windows系统挂钩,允许您发送(按键)消息到O / S,并让它处理所有的小东西繁琐。
还有就是我在网上找到名为hkSend.pas具有所有必需的管道的所有设置成一个函数调用(的SendKeys)为单位。
如果你为它做了谷歌,并期待在第一对夫妇的条目,你会发现.PAS文件的副本,你可以看到什么是参与。 谁写hkSend的人似乎已经使其以类似的方式工作,以SendKey32.pas但使用日志播放代替。
HTH,
瑞安。