2010-05-07 76 views

回答

0

我假設你正在使用的P/Invoke調用RegisterHotKey。如果是這樣,你的聲明應該如下所示。

<DllImport("user32.dll", SetLastError:=True)> _ 
    Private Shared Function RegisterHotKey(ByVal hWnd As IntPtr, ByVal id As Int32, ByVal fsModifier As UInt32, ByVal vk As UInt32) As <MarshalAs(UnmanagedType.Bool)> Boolean 
    End Function 

有了這個,你可以檢查RegisterHotKey的返回值,如果是假的,你可以使用Marshal.GetLastError來獲得Win32錯誤代碼提供爲調用失敗的原因的詳細信息。

+0

經過一番搜索後,我發現只要使用RegisterHotKey就會給你一個1或0的返回值,而不管是否使用熱鍵。嘗試使用msgbox例如 msgbox(RegisterHotKey(Me.Handle,1020,MOD_ALT,Keys.W))'Alt + W – jameslcs 2010-05-10 17:43:59