[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool RegisterHotKey(IntPtr hWnd, int id, uint fsModifiers,
uint vk);
<DllImport("user32.dll")> _
Public Shared Function RegisterHotKey(ByVal hWnd As IntPtr, ByVal id As Integer, _
ByVal fsModifier As Integer, ByVal vk As Integer) As Integer
End Function
None.
None.
Please add some!
[DllImport("user32")]
public static extern int RegisterHotKey(IntPtr hwnd, int id, int fsModifiers, int vk);
[DllImport("user32.dll")]
static extern bool UnregisterHotKey(IntPtr hWnd, int id);
private const int MOD_ALT = 0x1;
private const int MOD_CONTROL = 0x2;
private const int MOD_SHIFT = 0x4;
private const int MOD_WIN = 0x8;
private const int WM_HOTKEY = 0x312;
public frmMain()
{
// Assigns the hotkey WIN+T
// 1 is a random identifier(and can be any thing you wish) of the hot key.
// No other hot key in the calling thread should have the same identifier.
// An application must specify a value in the range 0x0000 through 0xBFFF
RegisterHotKey( this.Handle, 1, MOD_WIN, (int)Keys.T );
}
protected override void WndProc(ref Message m)
{
base.WndProc (ref m);
if( m.Msg == WM_HOTKEY )
{
if( !this.Visible )
this.Visible = true;
this.Activate();
}
}
private void frmMain_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
UnregisterHotKey( this.Handle, 1 );//1 informs UnregisterHotKey to unregister the hotkey with identifier 1
}
The ManagedWindowsApi project (http://mwinapi.sourceforge.net) provides a
Hotkey class to register global hotkeys.