Seite 1 von 2

Mit shortcut programm beenden

Verfasst: 05.10.2008 10:19
von Special-Agent-J
Hi leute hab grad angefangen mit pure basic zu programmieren und bei meinem ersten programm taucht schon ein prob auf selbst nach einigen stunden rumprobieren bekomm ich es einfach nicht hin mein programm mit einem shortcut zu beenden. Bitte postet mir einen beispielcode weil ich mit programmieren noch nicht so fit bin.
Und ich glaube ich hab eine alte version deshalb funktionieren vielleicht manche codes nicht.
Vielen Dank für eure hilfe schon mal

Verfasst: 05.10.2008 10:23
von ts-soft
Verstehe ich nicht so ganz, Du kannst Dein Program doch mit "Alt + F4" beenden

Re: Mit shortcut programm beenden

Verfasst: 05.10.2008 10:26
von Kiffi
AddKeyboardShortcut() ist Dein Freund:

Code: Alles auswählen

Enumeration
  #myWindow
  #myShortcut
EndEnumeration

If OpenWindow(#myWindow, #PB_Ignore, #PB_Ignore, 300, 300, "Beenden mit 'ESC'")
  
  If CreateGadgetList(WindowID(#myWindow))
  
    AddKeyboardShortcut(#myWindow, #PB_Shortcut_Escape, #myShortcut)
    
    Repeat
      
      WWE = WaitWindowEvent()
      
      Select WWE
          
        Case #PB_Event_Menu
          
          Select EventMenu()
              
            Case #myShortcut
              
              Quit = #True 
              
          EndSelect
          
      EndSelect
      
    Until Quit = #True
    
  EndIf
  
EndIf
Grüße ... Kiffi

danke

Verfasst: 05.10.2008 10:51
von Special-Agent-J
hmm ich dachte alt+f4 funzt aber wenn ich dann die .exe erstelle und die starte funzt es nicht mehr und danke kiffi für dein code aber sry ich versteh den code nicht und kann deshalb mit ihm nix anfange. Wär nett wenn ihr mir nochmal helfen würdet

Re: danke

Verfasst: 05.10.2008 13:42
von Kiffi
Special-Agent-J hat geschrieben:ich versteh den code nicht
was genau verstehst Du an dem Code nicht?

Bzw.: Poste doch mal hier den Code, der bei Dir nicht 'funzt'.

Grüße ... Kiffi

Verfasst: 05.10.2008 14:49
von Deluxe0321

Code: Alles auswählen

Enumeration
  #myWindow
  #myShortcut
EndEnumeration

If OpenWindow(#myWindow, #PB_Ignore, #PB_Ignore, 300, 300, "Beenden mit 'ESC'")
 
  If CreateGadgetList(WindowID(#myWindow))
 
    AddKeyboardShortcut(#myWindow, #PB_Shortcut_Escape, #myShortcut)
   
    Repeat
     
      WWE = WaitWindowEvent()
     
      Select WWE
         
        Case #PB_Event_Menu
         
          Select EventMenu()
             ; das fenster wird geschlossen wenn escape gedrückt wird..
            Case #myShortcut
             
              Quit = #True
             
          EndSelect
        ; jetzt auch wenn die normale Windows Tastenkombi gedrückt wird..
        Case #PB_Event_CloseWindow
         
         Quit = #True
         
      EndSelect
     
    Until Quit = #True
   
  EndIf
 
EndIf
Gruß Marv

Re: danke

Verfasst: 06.10.2008 15:07
von Special-Agent-J
Kiffi hat geschrieben:
Special-Agent-J hat geschrieben:ich versteh den code nicht
was genau verstehst Du an dem Code nicht?

Bzw.: Poste doch mal hier den Code, der bei Dir nicht 'funzt'.

Grüße ... Kiffi
ich versteh z.b. nicht was WWE sein soll

Re: danke

Verfasst: 06.10.2008 15:23
von Kiffi
Special-Agent-J hat geschrieben:ich versteh z.b. nicht was WWE sein soll
für die korrekte Abarbeitung der Ereignisse in Deinem Fenster benötigst Du
eine Event-Schleife. Die einkommenden Ereignisse liefert Dir die Abfrage
des WaitWindowEvent(). WWE ist lediglich eine Variable, in die das aktuelle
Event gespeichert wird und welche dann abgefragt werden kann.
Kiffi hat geschrieben:Poste doch mal hier den Code, der bei Dir nicht 'funzt'.
Grüße ... Kiffi

hier ist der code

Verfasst: 06.10.2008 15:47
von Special-Agent-J
also hier ist der code in seinem grundgerüst
und wenn ich eh schon den code gepostet hab da ist noch ein prob die
datei shutdown.lnk öffnet sich nicht

Code: Alles auswählen

InitKeyboard()
If InitKeyboard()=0
MessageRequester ("Error","kein dx",0)
End
EndIf                                                                                                   
If OpenWindow(0,500,300,250,60,#PB_Window_Sizegadget,"Achtung schwerer Fehler!")                                   
ExamineKeyboard()
  
  If CreateGadgetList(WindowID())                                                                               
    ButtonGadget(1,20,20,100,20,"Neustarten")                                                                   
    ButtonGadget(2,120,20,100,20,"Abrechen")                                                                    
   
  
  
  
EndIf 
  
  EndIf  
       Repeat 
       EventID=WaitWindowEvent()                                                                                                                              
      If EventID=#pb_event_gadget                                                                               
      If EventGadgetID()=2
       MessageRequester("Fehler","Dumm",0)  
EndIf 
ExamineKeyboard()  
If KeyboardReleased(#PB_Key_Q)=1
End
EndIf 
 If EventGadgetID()=1                                                                                      
 OpenFile(0,"Ressourcen\shutdown.lnk") 
  EndIf 
 EndIf 
 Until Quit=1  
 End

Re: hier ist der code

Verfasst: 06.10.2008 15:53
von X360 Andy
nim RunProgam() statt openfile()