在Linux中,我试图为Windows7/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

最佳答案

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

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

所以你应该用你的语言找到一种把邮件寄到窗口的方法。还有其他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

关于linux - PureBasic-如何模拟按F1或F2键盘按钮?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21362310/

10-15 06:34