查一下!VbKey中能不能有没有Win And Alt key!如果有的话就可以!!!!

解决方案 »

  1.   

    可以在程序中调用Api即可实现!!!俱体可以见Www.cpcw.com(电脑报网站)
      

  2.   

    Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    用这个API,看着给吧
      

  3.   

    to night_cai(小菜):
    那范围也太大了吧!
    to vbFly(新北京,新奥运):
    虚拟键和热键不是一回事吧!!!
      

  4.   

    一回事!你在一个 timer控件中调用这个函数
     if GetAsynckeystate(vba) then
        msgbox "You Press A key"
     end if
      

  5.   

    首先将窗体的KEYPREVIEW属性设为TRUE,接着你就可以编写自己的代码了。
      

  6.   

    我是这样写的:
    Private Sub Timer1_Timer()
    If GetAsyncKeyState(&H12) Then
        MsgBox "You Press A key"
    End If
    End Sub
    根本就不行,如果我按win键,还是会弹出开始菜单!我想是因为win键使系统热键!
      

  7.   

    是的!系统热鍵好像调用API可以关闭!有人会吗?在VC中呢?
    上面代码是检查你有没有按某个鍵!!
      

  8.   

    Private Declare Function SystemParametersInfo Lib "user32" _
     Alias "SystemParametersInfoA" (ByVal uAction As Long, _
     ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) _
     As Long
    Const SPI_SCREENSAVERRUNNING = 97
    Private Sub Hotkey()
       '禁止热键
       SystemParametersInfo SPI_SCREENSAVERRUNNING, True, ByVal 1&, 0
    End SubPrivate Sub NoHotkey()
    Dim ret As Integer
    ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False,ByVal 1&, 0)
       '释放热键
    End Sub   
      

  9.   

    然后可以自己加代码检测win等键,像luoxiang2000(腾空) 等上面几位老大说的.
      

  10.   

    最近看了一些书,知道可能要用"钩子"!那个钩子好像叫什么low level hook!也不是很懂!但是好像没有办法用vb实现!如果那位大虾知道,请给出代码,非常感谢!
      

  11.   


    要求太高了,用RegisterHotkey就可以屏蔽了。
    VK_WIN的值是 91
    控制键设置为 MOD_ALT就可以。
      

  12.   

    to Chice_wxg(Chice):
    我要的功能是只按win键,而不是alt+win!谢谢!
      

  13.   

    给你一段源程序,需要自己编辑一个菜单,一个是"no",一个是"ky"
    运行程序后,直接按键子就会有提示的.Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Private Declare Function SystemParametersInfo Lib "user32" _
    Alias "SystemParametersInfoA" (ByVal uAction As Long, _
    ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) _
    As Long
    Const SPI_SCREENSAVERRUNNING = 97
    Private Sub Hotkey()
      '禁止热键
      SystemParametersInfo SPI_SCREENSAVERRUNNING, True, ByVal 1&, 0
    End SubPrivate Sub NoHotkey()
    Dim ret As Integer
    ret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, ByVal 1&, 0)
      '释放热键
    End SubPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    MsgBox "该键键值:" & KeyCode
    End SubPrivate Sub ky_Click() '这是一个菜单命令.
    NoHotkey
    End SubPrivate Sub Label3_Click()
    Call ShellExecute(Form1.hwnd, "Open", "mailto:[email protected]", "", App.Path, 1)
    End SubPrivate Sub no_Click() '这也是一个菜单,不能用命令按钮.
    Hotkey
    End Sub