如何发送“ENTER”键按到另一个应用程序?(How to send an “ENTER” key

2019-07-18 05:37发布

我有一个调用外部程序并自动提示输入密码填写代码。

我想自动化按下“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)));

Answer 1:

试试这个

PostMessage(AppHandle, WM_KEYDOWN, VK_RETURN, 0);

再见。



Answer 2:

快速回答。 重复使用WM_KEYUP事件最终SendMessage调用。 按键被释放而不是当它被压在有些系统被触发。

一些尝试,直到真正的程序员响应。 (:-)



Answer 3:

尝试#13#10,而不是仅仅排名第13。



Answer 4:

有几个不同的方式,你可以做你想做的。

第一个和最简单的细节是SendKey32.pas文件。 这个单位专门编写,让你怎么做你问。 这delphi.about.com文章给出了有关单位和什么可以做一个很好的解释。

我已经使用不同的方法亲自启动,因为某些局限性,所以我在SendKey32东西发现。 第二种方法是日志播放消息。 这是一种Windows系统挂钩,允许您发送(按键)消息到O / S,并让它处理所有的小东西繁琐。

还有就是我在网上找到名为hkSend.pas具有所有必需的管道的所有设置成一个函数调用(的SendKeys)为单位。

如果你为它做了谷歌,并期待在第一对夫妇的条目,你会发现.PAS文件的副本,你可以看到什么是参与。 谁写hkSend的人似乎已经使其以类似的方式工作,以SendKey32.pas但使用日志播放代替。

HTH,

瑞安。



文章来源: How to send an “ENTER” key press to another application?