Mit shortcut programm beenden

Anfängerfragen zum Programmieren mit PureBasic.
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

Mit shortcut programm beenden

Beitrag 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
Zuletzt geändert von Special-Agent-J am 06.10.2008 15:22, insgesamt 1-mal geändert.
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 »

Verstehe ich nicht so ganz, Du kannst Dein Program doch mit "Alt + F4" beenden
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
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Mit shortcut programm beenden

Beitrag 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
a²+b²=mc²
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

danke

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

Re: danke

Beitrag 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
a²+b²=mc²
Benutzeravatar
Deluxe0321
Beiträge: 336
Registriert: 19.05.2006 00:31
Kontaktdaten:

Beitrag 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
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

Re: danke

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

Re: danke

Beitrag 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
a²+b²=mc²
Special-Agent-J
Beiträge: 51
Registriert: 05.10.2008 10:13

hier ist der code

Beitrag 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
Benutzeravatar
X360 Andy
Beiträge: 1206
Registriert: 11.05.2008 00:22
Wohnort: Bodensee
Kontaktdaten:

Re: hier ist der code

Beitrag von X360 Andy »

nim RunProgam() statt openfile()
Antworten