如何发送" TAB"按键到另一个程序?

时间:2013-05-07 01:37:55

标签: delphi keystroke

我正在尝试制作一个程序来处理一些条形码,使其与网上银行兼容。问题是应用程序必须使用已打开的Firefox窗口。要使其兼容,应用必须删除“。” (点)并在网上银行窗口中逐个粘贴(共5个部分)。如何将“标签”(如键盘上的键)发送到在线银行窗口,以便通过条形码的5个编辑框移动?

3 个答案:

答案 0 :(得分:3)

PostMessage(OtherProgramWindow.Handle, WM_KEYDOWN, VK_TAB, 0);
PostMessage(OtherProgramWindow.Handle, WM_KEYUP, VK_TAB, 0); 

答案 1 :(得分:1)

Torry的Delphi页面上有一个名为“SendKeys”的组件,可以让您轻松地将键击发送到另一个窗口。它使用Windows的keybd_event函数将键击推送到Windows键盘缓冲区。

http://www.torry.net/quicksearchd.php?String=sendkeys&Title=Yes

答案 2 :(得分:1)

所以我终于找到了问题的最佳解决方案。

首先:

SetForegroundWindow(Appwin);

使100%确保将“tab”命令发送到右侧窗口。

第二

Keybd_event(VK_TAB, 0, 0, 0);

向该窗口发送键盘事件“TAB”键。