Seite 1 von 2

Hiden lösen mit Tastenkombination

Verfasst: 08.03.2006 20:47
von Tsuki-Namida
Hallo...
Ich habe bei meinem Programm die möglichkeit es zu verstecken werend es aus gefürt wird.

Ich habe also das fenser im "hiden" (ohne Systray Icon) in diesem fall darf auch kein systray Icon vorhanden sein.

Was ich jetzt machen möchte ist mit einer bestimmten Tasten kombination das Fenster wieder aus dem Hiden zu holen. also zum Beispiel mit (Alt+Q+Enter) so ähnlich wie ein hotkay nur das es immer gehen muss auch wenn andere Programme gestartet sind.

Re: Hiden lösen mit Tastenkombination

Verfasst: 08.03.2006 20:51
von Kiffi
> so ähnlich wie ein hotkay nur das es immer gehen muss auch wenn andere
> Programme gestartet sind.

in den PBOSL gibt's eine Lib namens GlobalHotkeys.
Damit geht das ganz einfach.

Grüße ... Kiffi

Verfasst: 08.03.2006 20:56
von Macros
Oder mit APi:
GetAsyncKeyState_(#VK_ ... )

Verfasst: 08.03.2006 21:15
von Tsuki-Namida
@kiffi
ich habe jetzt die liebs in den entsrechenden ordner bekackt.. nur jetzt läst sich der compiler nicht mehr starten :(

Verfasst: 08.03.2006 21:50
von Kiffi
> ich habe jetzt die liebs in den entsrechenden ordner bekackt.. nur jetzt läst
> sich der compiler nicht mehr starten :(

ja, sowas tut man auch nicht [tsts] ;-)

gibt's eine Fehlermeldung, die Du hier evtl. mal posten könntest?

arbeitest Du mit PB 3.94 oder 4.0?

Grüße ... Kiffi

Verfasst: 09.03.2006 17:18
von Tsuki-Namida
ohhh man die tip fehler in meinem letzten Beitrag :shock: (naja ich hatte es eilig :roll: )

okay hier die fehler meldung...
Error: Duplicated library command: FastClosedFile() (in libraries PBOSL_FASTFILE and FASTFILE


okay da mein englisch misserabel ist verstehe ich nicht fiel von dem was da steht :(

ach ja ich habe PB 3.94..

Ich hoffe das mir geholfen werden kann...

Verfasst: 09.03.2006 17:23
von KeyKon
Das beduetet das die FastFileLib() offensichtlich schon zweimal drin is...

KeyKon

Verfasst: 09.03.2006 17:30
von Kiffi
> okay hier die fehler meldung... [...]

im Ordner der Userlibs befindet sich eine Batch-Datei namens 'PBOSL
DELOLD.bat'. Dieser Batch entfernt die Libs, die durch die PBOSL ersetzt
werden. Einmal doppelklicken und das Problem gehört der Vergangenheit an.

Grüße ... Kiffi

Verfasst: 09.03.2006 18:04
von Tsuki-Namida
super hat geklapt :)
nur jetzt ein weiteres proplem :cry:

Ich habe mir einen HotKay gemacht
so: AddHotkey(#Window_1, #MOD_ALT|#MOD_CONTROL, #PB_Shortcut_B, #Kay)


in meinem Repeat habe ich dann die abfrage so gemacht:
If Event = #Kay
MessageRequester ("Hinweis", "HotKay " + Str(#Kay))

So ich bekomme dann beim start des Programms die Hinweis ausgabe "HotKay 5"
Wenn ich den HotKay betätige dann passiert nichts :| aber warum? was mache ich da falsch?

Verfasst: 09.03.2006 18:09
von Kiffi
> was mache ich da falsch?

Du hast nicht in die Beispieldatei geschaut ;-)

Hier mal der Code, der zeigt, wie die Hotkeys abgefragt werden:

Code: Alles auswählen

If OpenWindow(0, 0, 0, 200, 200, #PB_Window_ScreenCentered | #PB_Window_TitleBar | #PB_Window_SystemMenu, "Global hotkeys") And CreateStatusBar(0, WindowID(0))
  StatusBarText(0, 0, "Type Alt+A or Alt+B")
  ; We create the hotkeys, and display an error box if it is impossible to create one or the two.
  If AddHotkey(0, #MOD_ALT, #PB_Shortcut_A, 0) = 0
    MessageRequester("Error", "Cannot create hotkey 0.")
  ElseIf AddHotkey(0, #MOD_ALT, #PB_Shortcut_B, 1) = 0
    MessageRequester("Error", "Cannot create hotkey 1.")
  EndIf
  Repeat
    Select WaitWindowEvent()
      Case #PB_Event_Hotkey ; If an hotkey was called
        Select EventwParam() ; For know what hotkey was called, no documentation on PureBasic for this function.
          Case 0 ; Hotkey with ID 0 (Alt+A)
            MessageRequester("Info", "Hotkey 0!")
          Case 1 ; Hotkey with ID 1 (Alt + B)
            MessageRequester("Info", "Hotkey 1!")
        EndSelect
      Case #PB_EventCloseWindow
        End
    EndSelect
    Delay(1)
  ForEver
  ; Now we remove the hotkeys.
  RemoveHotkey(0, 0)
  RemoveHotkey(0, 1)
EndIf
End
Grüße ... Kiffi