Mein Prob ganz kurz und bündig: Möchte den Befehl KeyboardPushed() auch ohne Screen aufrufen (wenn's geht auch ohne Window...)
Danke
PS: Müßte doch irgendeinen Win-API Befehl geben


Code: Alles auswählen
InitKeyboard()
Repeat
Delay(100)
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
Code: Alles auswählen
Global HotkeyStrgF5,HotkeyStrgF6
Procedure HotkeyCallback(hwnd, msg, wParam, lParam)
result = #PB_ProcessPureBasicEvents
If msg = #WM_HOTKEY
Select wParam
Case HotkeyStrgF5:
MessageRequester("Hotkey","Strg-F5 : Manager öffnen")
Case HotkeyStrgF6:
MessageRequester("Hotkey","Strg-F6 : Programm öffnen")
EndSelect
EndIf
ProcedureReturn result
EndProcedure
If OpenWindow(0, 100, 150, 300, 100, "Hotkey Demo", #PB_Window_Invisible)
AddSysTrayIcon(1, WindowID(0), LoadImage(0, "C:\klein.ico"))
SysTrayIconToolTip(1, "- Hotkey Demo -"+Chr(10)+"Ende mit Doppelklick (links)")
HotkeyStrgF5 = GlobalAddAtom_("Test-Strg-F5")
RegisterHotKey_(WindowID(0),HotkeyStrgF5,#MOD_CONTROL,#VK_F5)
HotkeyStrgF6 = GlobalAddAtom_("Test-Strg-F6")
RegisterHotKey_(WindowID(0),HotkeyStrgF6,#MOD_CONTROL,#VK_F6)
SetWindowCallback(@HotkeyCallback(),0)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_SysTray
Select EventType()
Case #PB_EventType_LeftDoubleClick
Break
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf