private void ChangeHotKey(int vKey, int hotkeyId) { //上書きはできないので、古いのを削除してから登録 _ = API.UnregisterHotKey(MyWindowHandle, hotkeyId); //int mod = GetModifierKeySum(); //int mod = 2;//ctrl //int mod = 1;//alt //int mod = 4;//shift //int mod = 6;//ctrl + shift //int mod = 0;//修飾キーなし int mod = 6; if (API.RegisterHotKey(MyWindowHandle, hotkeyId, mod, vKey) == 0) { MessageBox.Show("登録に失敗"); } else { //MessageBox.Show("登録完了"); } }
//アプリのウィンドウが非アクティブ状態でも任意のキーの入力を感知、WPFでグローバルホットキーの登録 //https://gogowaten.hatenablog.com/entry/2020/12/11/132125 private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { //ホットキーの登録解除 _ = API.UnregisterHotKey(MyWindowHandle, HOTKEY_ID1); ComponentDispatcher.ThreadPreprocessMessage -= ComponentDispatcher_ThreadPreprocessMessage; }