KeyboardPushed() ohne Screen

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Wespe23
Beiträge: 72
Registriert: 06.11.2005 16:05

KeyboardPushed() ohne Screen

Beitrag von Wespe23 »

Hi
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 :praise: :praise:
Meine Programmier-Tools:
  • PureBasic Professional Vollversion
  • jaPBe mit kaputtem Compiler
  • Borland C++ Builder 6.0
  • MS C++ Express-Edition
Ich hatte auch mal XProfan 8.0beta
Und Java wollte ich auch mal probieren
:D
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

GetAsyncKeyState_(vkey) :)
edit:Welche taste?
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
Wespe23
Beiträge: 72
Registriert: 06.11.2005 16:05

Beitrag von Wespe23 »

Na ja...
Da es um ein Systray Programm geht, hätte ich mir gedacht:
  • [F5] Soll den Manager öffnen
  • [F6] Soll das Hauptprogramm öffnen
  • [irgendwas] Soll eine Datei (zur Sammlung) hinzufügen
  • [irgendwas] Soll die Toolbar im IExi/FiFi/Scapy***/... hinzufügen
Das wär's :)

*** IExi = IE // FiFi = FireFox // Scapy = Netscape außerdem weiß ich nicht, wie man Toolbars im IE/Fifi... hinzufügt :roll: :roll:
Meine Programmier-Tools:
  • PureBasic Professional Vollversion
  • jaPBe mit kaputtem Compiler
  • Borland C++ Builder 6.0
  • MS C++ Express-Edition
Ich hatte auch mal XProfan 8.0beta
Und Java wollte ich auch mal probieren
:D
Jilocasin
Beiträge: 665
Registriert: 13.05.2006 16:04
Kontaktdaten:

Beitrag von Jilocasin »

also: #VK_F5 ...
|
"virtual key"
Bild
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

was für eine toolbar? :?
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

TIA
da hat wohl PB 3.3 doch noch ein vorteil :

Code: Alles auswählen

InitKeyboard()

Repeat 
 Delay(100)
 ExamineKeyboard() 
Until KeyboardPushed(#PB_Key_Escape) 
geht bei 3.3 ohne probleme ^^

(wollte ich nur mal so reinwerfen)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
PBZecke
Beiträge: 399
Registriert: 02.09.2004 17:34

Beitrag von PBZecke »

Wenn Dein Programm im Systray ist, sollte es gar kein Hotkey geben,
da Dein Programm ja im Hintergrund läuft. Tastenkombinationen beziehen
sich immer auf das aktuelle im Vordergrund befindliche Fenster.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden... :lol:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

jain

hotkey ok, aber dann eher kombinationen...

also, F5 gäb zweifellos nen konflikt, da würde ich schon strg-alt-F5 vorziehen...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
real
Beiträge: 468
Registriert: 05.10.2004 14:43

Beitrag von real »

Wie schon gesagt: Da F5 etc. schon mit Systemfunktionen hinterlegt sein können immer nur in Kombination mit z.B. Strg oder Alt oder beiden.

Die Aussage von PBZecke stimmt nicht ganz. Unter Windows kannst Du RegisterHotkey_() nutzen, um globale Hotkeys zu definieren. Code siehst Du hier:

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 
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

> Wie schon gesagt: Da F5 etc. schon mit Systemfunktionen hinterlegt
> sein können immer nur in Kombination mit z.B. Strg oder Alt oder
> beiden.

am besten ist es ohnehin, das ganze konfigurierbar zu machen, weil sich
bestimmte Tastaturkombinationen immer mit anderen Applikationen
überschneiden werden.

Grüße ... Kiffi
Antworten