从 VB.net 中的键盘楔形应用程序模拟复制粘贴

Emulate copy-paste from Keyboard wedge application in VB.net

我们有一个应用程序(写于 VB 2005),它读取虚拟串行端口(连接康耐视条码扫描器)上的传入字符,验证流并将其发送到使用的焦点对象SendKeys命令。

它多年来一直运行良好,但现在客户有了新软件,SendKeys 不再适用于该软件中的特定领域(它适用于除该领域以外的任何其他地方)。他们做了一些测试,发现当他们复制粘贴文本时,它可以使用 ctrl-c、ctrl-v。

我的问题是:如何从我们的应用程序中模拟这些击键?

SendKeys,控制键是^。然后可以跟随任何其他键。

所以副本将是:

SendKeys.Send("^c")

并粘贴:

SendKeys.Send("^v")

您可以直接将其放在剪贴板上(如您所建议的那样),而不是复制,例如: My.Computer.Clipboard.SetText("This is a test string.")