【问题标题】:PureBasic - how can i simulate pressing F1 or F2 keyboard button?PureBasic - 我如何模拟按下 F1 或 F2 键盘按钮?
【发布时间】:2014-01-26 10:31:14
【问题描述】:

在 Linux 中,我正在尝试为 Windows 7/8 和 Mac 制作一个小的可执行文件。 与PureBasic language。 如何使用 PureBasic 按 F1 或 F2 键盘按钮? 我尝试了以下操作,但出现链接器错误。

If OpenWindow(0, #PB_Ignore, #PB_Ignore, 200, 200, "Shortcut test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

   AddKeyboardShortcut(0, #PB_Shortcut_Apps,101);      (=) - somewhere near the Space key
   AddKeyboardShortcut(0, #PB_Shortcut_Clear,102)
   AddKeyboardShortcut(0, #PB_Shortcut_Command,103)
   AddKeyboardShortcut(0, #PB_Shortcut_Execute,104)
   AddKeyboardShortcut(0, #PB_Shortcut_Help,105)
   AddKeyboardShortcut(0, #PB_Shortcut_Menu,106)
   ;AddKeyboardShortcut(0, #PB_Shortcut_Next,107)
   AddKeyboardShortcut(0, #PB_Shortcut_Pause,108);      Pause - should be beside F12 or so
   AddKeyboardShortcut(0, #PB_Shortcut_Print,109)
   ;AddKeyboardShortcut(0, #PB_Shortcut_Prior,110)
   AddKeyboardShortcut(0, #PB_Shortcut_Scroll,111);      ScrollLock
   AddKeyboardShortcut(0, #PB_Shortcut_Select,112)
   AddKeyboardShortcut(0, #PB_Shortcut_Separator,113)
   AddKeyboardShortcut(0, #PB_Shortcut_Snapshot,114)

   Repeat
      Select WaitWindowEvent()
      Case #PB_Event_Menu
         z=EventMenu()
         If z>99 And z<115
            Debug "Found key for the event #"+Str(z)
         EndIf
      Case #PB_Event_CloseWindow
         Break
      EndSelect
   ForEver

EndIf

【问题讨论】:

    标签: linux windows macos keyboard-shortcuts basic


    【解决方案1】:

    在 Windows 下,您可以发布以下消息:

        PostMessage(hWnd, WM_KEYDOWN, VK_F1, 0);
        PostMessage(hWnd, WM_KEYUP, VK_F1, 0);
    

    因此,您应该找到一种以您的语言将 PostMessage 发送到您的窗口的方法。还有其他 Win API 函数,例如:keybd_event、SendInput 在这里查看更多信息:

    http://www.codeproject.com/Articles/2334/Toggling-the-Num-Lock-Caps-Lock-an-Scroll-Lock-ke

    我对 PureBasic 一无所知,但在快速谷歌搜索后,我能够找到正在做类似事情的论坛:

    http://www.purebasic.fr/english/viewtopic.php?f=13&t=47321

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 2023-03-10
      相关资源
      最近更新 更多