我想在窗口上按下ctrl+alt+f5 弹出一个窗口,该怎么编码

解决方案 »

  1.   

    Private Declare Function SetWindowsHookEx& Lib "user32" Alias "SetWindowsHookExA" (ByVal ID As Long, ByVal HookFunc As Long, ByVal Instance As Long, ByVal Thread As Long)
    Private Declare Function CallNextHookEx& Lib "user32" (ByVal Hook As Long, ByVal Code As Long, ByVal WParam As Long, ByVal LParam As Long)
    Private Declare Function UnhookWindowsHookEx& Lib "user32" (ByVal Hook As Long)Private Declare Function RegisterHotKey& Lib "user32" (ByVal Hwnd As Long, ByVal ID As Long, ByVal Modifiers As Long, ByVal VK As Long)
    Private Declare Function UnregisterHotKey& Lib "user32" (ByVal Hwnd As Long, ByVal ID As Long)你去百度一下这些API的用法就知道了。
      

  2.   

    如果这个组合只是在当前窗体按下产生作用那不就简单了
    键盘事件的shift参数可以检测ctrl+alt,if shift=3 ,用 keycode判断是否f5
      

  3.   

    额,我是菜鸟,能说下代码么,我不知道f5的ASCII代码是什么。。
      

  4.   

    - - ········我有个最简单的方法。直接for 循环。非指定按键跳出。判断是否按了指定键。如果按了的话。执行某代码。程序里有个事件是接受按键消息的。二楼说的那个是热键。适合的区域是当程序失去焦点(比如你的程序是 “123.exe”)当你用鼠标点击QQ后。你的程序就失去了焦点。在这个情况下。再按你设定的热键。你的程序就会有反应。-----------------------分割线--------------------如果只是在程序里面使用热键。很好办。KeyDown去判断ASC值就行了。如果不知道的话。百度有参考。
      

  5.   

    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If Shift = vbAltMask + vbCtrlMask And KeyCode = vbKeyF5 Then
       Form2.Show
    End IfEnd Sub