How send Lwin shortcut key in vb.net

前端 未结 3 1746
北荒
北荒 2020-12-07 06:15

Can someone tell mew how to send Shortcut keys in vb.net? The shortcut keys are {LEFTWIN} + {ADD} amd {LEFTWIN} + {SUBTRACT}. Tried SendKeys.Send it does not work.

3条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-07 07:00

    Finally this worked for me :)

    Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As IntPtr, ByVal bScan As IntPtr, ByVal dwFlags As IntPtr, ByVal dwExtraInfo As IntPtr)
    Private Const VK_STARTKEY = &H5B
    Private Const VK_SUBTRACT = &H6D
    Private Const VK_ADD = &H6B
    Private Const VK_ESCAPE = &H1B
    Private Const KEYEVENTF_KEYUP = &H2
    Private Const KEYEVENTF_KEYDOWN = &H
    
    Call keybd_event(VK_STARTKEY, 0, KEYEVENTF_KEYDOWN, 0)
    Call keybd_event(VK_ADD, 0, KEYEVENTF_KEYDOWN, 0)
    Call keybd_event(VK_ADD, 0, KEYEVENTF_KEYUP, 0)
    Call keybd_event(VK_STARTKEY, 0, KEYEVENTF_KEYUP, 0)
    

    Key codes: http://vbcity.com/cfs-filesystemfile.ashx/__key/CommunityServer.Components.PostAttachments/00.00.11.85.52/Api.txt

    EDIT The keybd_event is deprecated so I am moving to SendInput(). The first solution works best for me :-)

提交回复
热议问题