Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 如何发送一个";标签";击键到另一个程序?_Delphi_Keystroke - Fatal编程技术网

Delphi 如何发送一个";标签";击键到另一个程序?

Delphi 如何发送一个";标签";击键到另一个程序?,delphi,keystroke,Delphi,Keystroke,我正试图做一个程序,将处理一些条形码,使其与网上银行兼容。问题是,该应用程序必须与已经打开的Firefox窗口一起工作。要使其兼容,应用程序必须删除“.”(点)并在网上银行窗口中逐部分粘贴(共5部分)。我如何向网上银行窗口发送一个“标签”(如键盘上的键)以通过5个编辑框移动条形码?Torry的Delphi页面上有一个名为“SendKeys”的组件,可以让您非常轻松地将击键发送到另一个窗口。它使用Windows的keybd_事件函数将击键推入Windows键盘缓冲区 PostMessage(Oth

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

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

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

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

第一:

SetForegroundWindow(Appwin);
100%确保将“tab”命令发送到正确的窗口

第二:

Keybd_event(VK_TAB, 0, 0, 0);

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

你好,肯,谢谢你的回复,现在让我问一下,你在看我吗?=)不。我关注我感兴趣的话题中的问题,德尔菲就是其中之一。在过去一个小时左右,您已经发布了三个标记为Delphi的独立问题。如果你看我的个人资料,你会发现我在这里的Delphi标签中非常活跃。@FernandoSBS-你肯定会吸引注意力,但你可能会发现愿意帮助我的人很快就会枯竭。在这么多问题上获得这么多的反对票应该是一个迹象,表明你至少可以通过向我们展示你为自己解决问题所做的努力来改进提问。请注意,这并不意味着在这里只转储一个完整的项目,而是要花时间制定一个合理的问题。引用乔治的话:“人们总是希望我花时间回答他们不会花时间问的问题,这总是让我感到惊讶。”@FernandoSBS-如果你付出一些努力(就像你现在所做的那样),你会发现你可以从中学到很多东西,特别是像Ken这样的人。也许他说的比原意要严厉,也许你误解了他的意图,但从我过去从肯那里读到的,我很自信,没有恶意。