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