如何使用 Dragon NaturallySpeaking 的高级脚本发送右 windows 键?

How can I send a right windows key with Dragon NaturallySpeaking's advanced scripting?

如何使用 Dragon NaturallySpeaking 的高级脚本发送正确的 windows 密钥?

查看 What is the difference between the commands SendKeys, SendSystemKeys or SendDragonKeys? 似乎无法使用 SendKeysSendSystemKeysSendDragonKeys

按右 windows 键:

' From https://knowbrainer.com/forums/forum/messageview.cfm?catid=3&threadid=3032
' Author: monkey8
' Tested with Dragon NaturallySpeaking 12.5 with Windows 7 SP1 x64 Ultimate
Declare Function keybd_event Lib "user32.dll" (ByVal vKey As _
Long, bScan As Long, ByVal Flag As Long, ByVal exInfo As Long) As Long
Const VK_RWIN = 92
Sub Main
keybd_event(VK_RWIN,0,0,0)
'if you want to send a key while holding down the Windows key then insert the code here
keybd_event(VK_RWIN,0,2,0)
End Sub

按左 windows 键:

' From https://knowbrainer.com/forums/forum/messageview.cfm?catid=3&threadid=3032
' Author: monkey8
' Tested with Dragon NaturallySpeaking 12.5 with Windows 7 SP1 x64 Ultimate
Declare Function keybd_event Lib "user32.dll" (ByVal vKey As _
Long, bScan As Long, ByVal Flag As Long, ByVal exInfo As Long) As Long
Const VK_LWIN = 91
Sub Main
keybd_event(VK_LWIN,0,0,0)
'if you want to send a key while holding down the Windows key then insert the code here
keybd_event(VK_LWIN,0,2,0)
End Sub

键盘代码的有用参考:List of Virtual Key Codes (mirror)

请注意,Declare 内容必须位于脚本中的 Sub Main 之上。如果您使用修改键,这就是它的样子:

Declare Function keybd_event Lib "user32.dll" (ByVal vKey As Long, bScan As Long, ByVal Flag As Long, ByVal exInfo As Long) As Long
Const VK_LWIN = 91

Sub Main

keybd_event(VK_LWIN,0,0,0)
SendSystemKeys "{Right}"
keybd_event(VK_LWIN,0,2,0)