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

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

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

Beitrag 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?
Zuletzt geändert von Tsuki-Namida am 20.06.2007 10:58, insgesamt 1-mal geändert.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Ansonstens vielleicht droopy-lib(beta) aus dem englischen Forum für PB4.
Hotkeyadd()
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag 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:
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag 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
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag 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...
Bild
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag 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
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag 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
a²+b²=mc²
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag von Tsuki-Namida »

@Killi danke jetzt gehts *andenkopffass*

@Falco
okay das wird mein fehler gewesen sein^^
Bild
Benutzeravatar
Tsuki-Namida
Beiträge: 633
Registriert: 17.11.2005 13:27
Kontaktdaten:

Beitrag 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)
Bild
Antworten