即使另一个应用程序具有焦点,也检测(并覆盖)F1 键的按键

巴斯吉

在用 Visual C++ 编码的 Win32 应用程序中,如何检测按键的F1按键并在发生这种情况时恢复/最大化其 GUI?

即使另一个应用程序具有焦点应检测到此键,并覆盖通常的 F1“帮助”窗口行为。

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow)
{
    const wchar_t CLASS_NAME[]  = L"Test";
    WNDCLASS wc = { };
    wc.lpfnWndProc   = WindowProc;
    wc.hInstance     = hInstance;
    wc.lpszClassName = CLASS_NAME;
    RegisterClass(&wc);

    HWND hwnd = CreateWindowEx(0, CLASS_NAME, L"Test", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
    ShowWindow(hwnd, nCmdShow);
    MSG msg = { };
    while (GetMessage(&msg, NULL, 0, 0))
    {

        // Should it be detected here ? //

        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}
巴斯吉

正如@RbMm 在评论中提到的,解决方案是:

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow)
{
    const wchar_t CLASS_NAME[]  = L"Test";
    WNDCLASS wc = { };
    wc.lpfnWndProc   = WindowProc;
    wc.hInstance     = hInstance;
    wc.lpszClassName = CLASS_NAME;
    RegisterClass(&wc);

    HWND hwnd = CreateWindowEx(0, CLASS_NAME, L"Test", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL);
    ShowWindow(hwnd, nCmdShow);

    RegisterHotKey(hWnd, 100, 0, VK_F1);  // here we go!

    MSG msg = { };
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if (msg.message == WM_HOTKEY)
            // Do something here

        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return 0;
}

另请参见此处

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检测按键时忽略修饰键

来自分类Dev

当另一个键被按下时如何模拟一个按键?

来自分类Dev

按键中的值搜索数组并获取另一个键的值

来自分类Dev

Windows中的键盘媒体键-是否可以覆盖哪个应用程序响应按键?

来自分类Dev

在Python中检测NUMLOCK / CAPSLOCK / SCRLOCK按键/键

来自分类Dev

按下Enter键后检测按键事件

来自分类Dev

在Python中检测NUMLOCK / CAPSLOCK / SCRLOCK按键/键

来自分类Dev

如何在带有 shift 的按键事件中获取编号键的原始键映射?

来自分类Dev

如何确定哪个应用程序正在窃取(监听)按键/组合键(Windows)?

来自分类Dev

按键比较两个字典,并创建一个新的键不匹配的字典

来自分类Dev

按键对数组排序(键是一个字符串)

来自分类Dev

使用PHP,按键搜索一个数组,然后用匹配键中的值替换另一个数组中的值

来自分类Dev

React javascript两个对象数组,我想按键查找和过滤,其结果,我想按另一个键计数

来自分类Dev

在每次按键上更新分数,即使在按退格键jQuery时也是如此

来自分类Dev

在 Django 中为用户从一个应用程序创建到另一个应用程序的外键

来自分类Dev

按键故障-Ctrl键和Shift键似乎没有按下,或者按下时不起作用

来自分类Dev

按键故障-Ctrl键和Shift键似乎没有按下,或者按下时不起作用

来自分类Dev

如何按键对对象数组进行排序,然后按排序顺序将另一个键推送到新数组?

来自分类Dev

Java 8给定键的有序集合,按键对映射进行排序

来自分类Dev

为什么按下暂停/中断键的按键没有达到“ xev”?

来自分类Dev

如何按键对字典进行排序,并返回带有键和值的整个字典?

来自分类Dev

按下键盘上的计算器键时如何运行另一个应用程序?

来自分类Dev

使用我们的活动中的Home键禁用启动另一个应用程序

来自分类Dev

当我按键盘上的Enter键时,我想提交一个表单(不带<form>标签)

来自分类Dev

禁用除一个应用程序外的所有应用程序的插入键

来自分类Dev

禁用按键或组合键

来自分类Dev

按键检测

来自分类Dev

Python按键组合(Ctrl +键或Shift +键)

来自分类Dev

在另一个集合中查找具有价值的键

Related 相关文章

  1. 1

    检测按键时忽略修饰键

  2. 2

    当另一个键被按下时如何模拟一个按键?

  3. 3

    按键中的值搜索数组并获取另一个键的值

  4. 4

    Windows中的键盘媒体键-是否可以覆盖哪个应用程序响应按键?

  5. 5

    在Python中检测NUMLOCK / CAPSLOCK / SCRLOCK按键/键

  6. 6

    按下Enter键后检测按键事件

  7. 7

    在Python中检测NUMLOCK / CAPSLOCK / SCRLOCK按键/键

  8. 8

    如何在带有 shift 的按键事件中获取编号键的原始键映射?

  9. 9

    如何确定哪个应用程序正在窃取(监听)按键/组合键(Windows)?

  10. 10

    按键比较两个字典,并创建一个新的键不匹配的字典

  11. 11

    按键对数组排序(键是一个字符串)

  12. 12

    使用PHP,按键搜索一个数组,然后用匹配键中的值替换另一个数组中的值

  13. 13

    React javascript两个对象数组,我想按键查找和过滤,其结果,我想按另一个键计数

  14. 14

    在每次按键上更新分数,即使在按退格键jQuery时也是如此

  15. 15

    在 Django 中为用户从一个应用程序创建到另一个应用程序的外键

  16. 16

    按键故障-Ctrl键和Shift键似乎没有按下,或者按下时不起作用

  17. 17

    按键故障-Ctrl键和Shift键似乎没有按下,或者按下时不起作用

  18. 18

    如何按键对对象数组进行排序,然后按排序顺序将另一个键推送到新数组?

  19. 19

    Java 8给定键的有序集合,按键对映射进行排序

  20. 20

    为什么按下暂停/中断键的按键没有达到“ xev”?

  21. 21

    如何按键对字典进行排序,并返回带有键和值的整个字典?

  22. 22

    按下键盘上的计算器键时如何运行另一个应用程序?

  23. 23

    使用我们的活动中的Home键禁用启动另一个应用程序

  24. 24

    当我按键盘上的Enter键时,我想提交一个表单(不带<form>标签)

  25. 25

    禁用除一个应用程序外的所有应用程序的插入键

  26. 26

    禁用按键或组合键

  27. 27

    按键检测

  28. 28

    Python按键组合(Ctrl +键或Shift +键)

  29. 29

    在另一个集合中查找具有价值的键

热门标签

归档