Горячие клавиши (Ошибка при создании дескриптора окна) - C#
Формулировка задачи:
public partial class ShotForm : Form
{
[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 ShotForm()
{
InitializeComponent();
RegisterHotKey(this.Handle, 42, MOD_WIN, (int)Keys.A);
}
private new void Close()
{
UnregisterHotKey(this.Handle, 42);
}
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_HOTKEY)
{
switch (m.WParam.ToInt32())
{
case 42:
Show();
break;
case 43:
break;
}
}
}RegisterHotKey(this.Handle, 42, MOD_WIN, (int)Keys.A);
Необработанное исключение типа "System.ComponentModel.Win32Exception" произошло в System.Windows.Forms.dll
Дополнительные сведения: Ошибка при создании дескриптора окна.
WndProc
, то ошибка не возникает, но она же нужна Что я нахимичил не так?Решение задачи: «Горячие клавиши (Ошибка при создании дескриптора окна)»
textual
Листинг программы
base.WndProc(ref m);