使用 SendKeys 发送 Alt 组合以输入特殊字符

Use SendKeys to send Alt combinations to enter special characters

我想在屏幕键盘内将 Alt 组合发送到另一个 window。 对于组合,我的意思是当您按住 Alt 键并输入一个数字或十六进制(必须将注册表项设置为十六进制)组合:

ALT down, Add press, 2 press, 5 press, 1 press, ALT up

我试过了

SendKeys.SendWait("%{ADD}251") 但它是 Alt+Add 2 5 1

SendKeys.SendWait("%{ADD}%2%5%1") 但它是 Alt+Add Alt+2 Alt+5 Alt+1

SendKeys.SendWait("%({ADD}251)") 但它是 Alt 然后同时按下其他键

Ref to MSDN

对使用 SendKeys 或其他 类 的解决方案有任何建议吗?

[编辑] 解法:

CharCode 示例(枚举源的元素):ʊ = &H28A

Dim CharCodeUnicodeStr As String = Hex(CInt([Enum].Parse(GetType(Source), CharStr))).ToString <strong>SendKeys.SendWait("%{ADD}%" & ChrW(Convert.ToInt32(CharCodeUnicodeStr, 16)))</strong>

将键放在括号内表示 ALT按住 同时按下其他键。

SendKeys.SendWait("%({ADD}251)")

你试过了吗

SendKeys.SendWait("%{ADD}%" & ChrW(&H251))

这会将您的十六进制代码转换为字符。然后,如果您可以控制其他应用程序,您可以将此字符恢复为数字...