C++でRegisterHotKey関数を活用する使い方

「RegisterHotKey」関数をC++で使用するには、「windows.h」ヘッダーファイルをインクルードして、「RegisterHotKey」関数を呼び出します。この関数は3つの引数を受け取ります。ウインドウハンドル、ホットキーID、ホットキーの組み合わせです。

Ctrl + F1 ホットキーを登録する RegisterHotKey 関数の使用例は次のとおりです。

#include <iostream>
#include <Windows.h>
int main()
{
HWND hwnd = GetConsoleWindow();  // 获取控制台窗口句柄
if (!RegisterHotKey(hwnd, 1, MOD_CONTROL, VK_F1))
{
std::cout << "热键注册失败!" << std::endl;
}
MSG msg = { 0 };
while (GetMessage(&msg, NULL, 0, 0) != 0)
{
if (msg.message == WM_HOTKEY)
{
std::cout << "热键被触发!" << std::endl;
}
}
UnregisterHotKey(hwnd, 1);  // 注销热键
return 0;
}

最初にコンソールウィンドウのハンドルを取得し、RegisterHotKey関数でCtrl+F1のホットキー(ホットキーIDは1)を登録します。登録が失敗するとエラーメッセージが出力されます。その後、GetMessage関数でメッセージをループで取得し、メッセージループの中でWM_HOTKEYメッセージがトリガーされているか判定し、トリガーされたらホットキーがトリガーされた旨のメッセージを出力します。最後に、UnregisterHotKey関数でホットキーを解除します。

bannerAds