Seite 1 von 2

AddHotkey() [neues Problem (Fehlerquelle) letzter Beitrag]

Verfasst: 27.08.2006 21:28
von Tsuki-Namida
ich er misse in den PBOSL Lib's die befehle für die hotkey's....

für die version 3.94 war es dabei...

gibt es ne andere möglichkeit?

Verfasst: 27.08.2006 21:38
von Falko
Ansonstens vielleicht droopy-lib(beta) aus dem englischen Forum für PB4.
Hotkeyadd()

Verfasst: 27.08.2006 22:01
von Tsuki-Namida
ich habe zwar was zu dem thema im englischen board was gefunden aber nichts zum laden also die lib :| und das was ich an themen gefunden habe hat mir nicht fiehl geholfen da mein englisch nicht das beste ist... :oops:

Verfasst: 27.08.2006 22:14
von ts-soft

Code: Alles auswählen

; GlobalHotkeys library
; By Gansta93

#MOD_WINDOWS = $8
#PB_Event_Hotkey = 786

Procedure AddHotkey(Window, fsModifiers, Keys, HotkeyID) ; Create a new global hotkey HotkeyID in specified Window.
  ProcedureReturn RegisterHotKey_(WindowID(Window), HotkeyID, fsModifiers, Keys)
EndProcedure

Procedure RemoveHotkey(Window, HotkeyID) ; Remove Specified HotkeyID in Window.
  ProcedureReturn UnregisterHotKey_(WindowID(Window), HotkeyID)
EndProcedure
Bis auf die Debug-Routinen :mrgreen: komplett, kannste so verwenden,
wie die lib

Verfasst: 27.08.2006 22:14
von Falko
die aktuelle droopy-lib zu PB4 ist diese:
http://gansta93.free.fr/droopyslib/down ... py_PB4.zip

Leider ist dort nicht die Hilfe dabei, da noch Betastatus, Aber man könnte die
Hilfe aus der alten Droopy-lib extrahieren. Sie sollte wohl nicht viel anders
sein, ausser das jetzt Ascii und unicode vorhanden sind.

Hier, wo beide Libs sind (PB4 und älter)
http://gansta93.free.fr/droopyslib/downloads.php

Grüße, Falko

Verfasst: 28.08.2006 10:32
von Tsuki-Namida
@ts-soft
entweder mache ich was falsch oder es geht nicht :(

Code: Alles auswählen

Enumeration
  #MOD_WINDOWS = $8 
  #PB_Event_Hotkey = 786 
EndEnumeration

Procedure AddHotkey(Window, fsModifiers, Keys, HotkeyID) ; Create a new global hotkey HotkeyID in specified Window. 
  ProcedureReturn RegisterHotKey_(WindowID(Window), HotkeyID, fsModifiers, Keys) 
EndProcedure 

Procedure RemoveHotkey(Window, HotkeyID) ; Remove Specified HotkeyID in Window. 
  ProcedureReturn UnregisterHotKey_(WindowID(Window), HotkeyID) 
EndProcedure

OpenWindow(5,0,0,0,0,"Titel")
AddHotkey(5, #MOD_ALT, #PB_Shortcut_V , 1)

Repeat
WaitWindowEvent()
Select WindowEvent()
    Case #PB_Event_Hotkey
      Select EventwParam()
        Case 1
          Debug "Hotkey okay"
        EndSelect
    EndSelect
Until a = 1
@Falko
wenn ich die lie in den UserLib ordner packe meckert der compiler... selbst PB 3.94 meckert wenn ich die ältere version installiere...

Verfasst: 28.08.2006 10:40
von Falko
In PB4, wenn du dort noch die alte droopy - lib haben solltest entfernen.
Dann noch eine Entscheidung treffen, ob man unicode oder ascii haben will.
Also nur eine von den beiden in den PurebasicLibrary-Ordner kopieren.
Dann sollte es gehen.

Gruß Falko

Verfasst: 28.08.2006 10:45
von Kiffi
Magix-Soft <Kain> hat geschrieben:

Code: Alles auswählen

Repeat
WaitWindowEvent()
Select WindowEvent()
    Case #PB_Event_Hotkey
      Select EventwParam()
        Case 1
          Debug "Hotkey okay"
        EndSelect
    EndSelect
Until a = 1
Das mit den Events üben wir aber nochmal, ja? ;-)

Code: Alles auswählen

Repeat
  WWE = WaitWindowEvent()
  Select WWE
    Case #PB_Event_Hotkey
      Select EventwParam()
        Case 1
          Debug "Hotkey okay"
      EndSelect
  EndSelect
Until a=1
Grüße ... Kiffi

Verfasst: 28.08.2006 10:51
von Tsuki-Namida
@Killi danke jetzt gehts *andenkopffass*

@Falco
okay das wird mein fehler gewesen sein^^

Verfasst: 19.06.2007 12:42
von Tsuki-Namida
okay weiter im Text^^

ist es irgentwie möglich ohne das man ein Fenster öffnen muss?

also auch ohne:
OpenWindow(5,0,0,0,0,"Titel")
HideWindow(5,1)

bei meinem momentanen projekt ist das sehr unpassent.
da ich gerade dabei bin einen Bot zu schreiben, wenn der benutzer ihn aber inerhalb eines spiels starten möchte und sich das fensteröffnet (wenn auch nur für ein paar milli sekunden) kann das eine oder andere spiel sogar abstürzen...

ach ja die hotkey funktion ist in einer dll (fals es hilft)