模块部分: 
Public Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) 
Const KEYEVENTF_KEYUP = &H2 
Const VK_LWIN = &H5B 
Const VK_LENTER = &HD 
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Long, ByVal fuWinIni As _ 
Long) As Long Public Sub callme(huh As Boolean) 
Dim gd 
gd = SystemParametersInfo(97, huh, CStr(1), 0) 
End Sub 窗体代码部分: 
Call keybd_event(VK_LWIN, 0, 0, 0) 
Call keybd_event(77, 0, 0, 0) 
Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0) 
callme (True) 
试试看,行不行!据说行,我没用过!

解决方案 »

  1.   

    To heruzi:
    虽然不行,还是谢谢你的参与呵呵,UP
      

  2.   

    我的方法可以!记得加分。
    在模块中:
    Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
    Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
    Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)Private Type PKBDLLHOOKSTRUCT
        vkCode As Long
        scanCode As Long
        flags As Long
        time As Long
        dwExtraInfo As Long
    End TypePrivate Const HC_ACTION = 0
    Private Const WM_KEYDOWN = &H100
    Private Const WM_SYSKEYDOWN = &H104
    Private Const WM_KEYUP = &H101
    Private Const WM_SYSKEYUP = &H105
    Private Const VK_LWIN = &H5B
    Private Const VK_RWIN = &H5C
    Private Const WH_KEYBOARD_LL = 13Private PrevHook As Long
    Public Function LowLevelKeyboardProc(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
        Dim fEatKeystroke As Boolean
        Dim p As PKBDLLHOOKSTRUCT
        
        If ncode = HC_ACTION Then
            Select Case wParam
                Case WM_KEYDOWN, WM_SYSKEYDOWN, WM_KEYUP, WM_SYSKEYUP
                    CopyMemory p, ByVal lParam, Len(p)
                    If p.vkCode = VK_LWIN Or p.vkCode = VK_RWIN Then
                        fEatKeystroke = True
                    End If
                Case Else
                    'do nothing
            End Select
        End If
        
        If fEatKeystroke Then
            LowLevelKeyboardProc = 1
        Else
            CallNextHookEx WH_KEYBOARD_LL, ncode, wParam, lParam
        End If
    End Function
    Public Sub Hook()
        PrevHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf LowLevelKeyboardProc, App.hInstance, 0)
    End Sub
    Public Sub UnHook()
        UnhookWindowsHookEx PrevHook
    End Sub
    在窗体中:
    Private Form_Load()
        Hook()
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        UnHook()
    End Sub
      

  3.   

    Private Sub Form_Load()
        Hook()
    End Sub