我想将Alt组合发送到屏幕键盘上的另一个窗口。使用组合我的意思是当你按住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,然后同时按下其他键
有关使用SendKeys或其他类的解决方案的任何建议?
[编辑]解决方案:
CharCode(枚举源元素)的示例:ʊ = &H28A
Dim CharCodeUnicodeStr As String = Hex(CInt([Enum].Parse(GetType(Source), CharStr))).ToString
SendKeys.SendWait("%{ADD}%" & ChrW(Convert.ToInt32(CharCodeUnicodeStr, 16)))
你有没有尝试过
SendKeys.SendWait("%{ADD}%" & ChrW(&H251))
这会将您的十六进制代码转换为char。然后,如果您可以控制其他应用程序,则可以将此字符还原为数字...
将键放在括号内,表示在按下其他键的同时按住ALT。
SendKeys.SendWait("%({ADD}251)")