none
[VB2010] GetAsyncKeyState 發生錯誤 RRS feed

  • 問題

  • 方案名稱:

    Yahoo! Messenger Status Changer

    程式碼如下:

    Public Class Form1
      Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
      Private Sub tHotkey_Timer() Handles Timer1.Tick
        Dim keyCtrl, keyAlt, keyY As Integer
        keyCtrl = GetAsyncKeyState(&H11)
        keyAlt = GetAsyncKeyState(&H12)
        keyY = GetAsyncKeyState(&H59)
        If keyCtrl And keyAlt And keyY Then MsgBox("", MsgBoxStyle.Information)
      End Sub
    End Class
    
    

    錯誤訊息:

    [偵測到 PInvokeStackImbalance]
    對 PInvoke 函式 'Yahoo! Messenger Status Changer!Yahoo__Messenger_Status_Changer.Form1::GetAsyncKeyState' 的呼叫已使堆疊失去平衡。這可能是因為 Managed PInvoke 簽章和 Unmanaged 目標簽章不相符。請確認 PInvoke 簽章的呼叫慣例及參數與目標 Unmanaged 簽章是否相符。
    目的:要偵測鍵盤按鍵的狀態,確認使用者是否按下 Ctrl + Alt + Y 的按鍵組合。

    2010年12月16日 上午 06:48

解答

所有回覆