public void Regist(ModifierKeys modkey, Key trigger, EventHandler eh, int i) { var imod = modkey.ToInt32(); var itrg = KeyInterop.VirtualKeyFromKey(trigger); while ((++i < 0xc000) && RegisterHotKey(_windowHandle, i, imod, itrg) == 0) { ; } if (i < 0xc000) { _hotkeyEvents.Add(i, eh); } }
public void Regist(ModifierKeys modkey, Key trigger, EventHandler eh) { // 引数をintにキャスト var imod = modkey.ToInt32(); var itrg = KeyInterop.VirtualKeyFromKey(trigger); // HotKey登録時に指定するIDを決定する while ((++i < 0xc000) && RegisterHotKey(this._windowHandle, i, imod, itrg) == 0) ; // 0xc000~0xffff はDLL用なので使用不可能 // 0x0000~0xbfff はIDとして使用可能 if (i < 0xc000) { this._hotkeyEvents.Add(i, eh); } }