Exemplo n.º 1
0
        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);
            }
        }