Seite 1 von 2
Selbes Programm neu starten
Verfasst: 18.08.2005 16:03
von HoDam
Ich habe innnerhalb des Hauptfensters einen Menupunkt um die Konfiguration zu ändern. Nach dem die Änderungen erfolgt ist und diese zurückgeschrieben wurden in die Ini-Datei müsste das Programm entweder sich selber neu starten, damit die Änderungen aktiv werden, oder ich muss mit eine goto-Schleife arbeiten, damit die Intialisierung neu erfolgt. Für mich sauberer wäre eine Neustart, weil ich dann sicher weiss, das im Speicher nichts mehr hängt.
Der Neustart soll nach Bestätigung einer Meldung über einen Neustart erfolgen.
Wie lässt sich sowas realisieren?.
Danke
Verfasst: 18.08.2005 16:08
von Hroudtwolf
RunProgram "DeinProgram.exe"
CloseWindow (#deinfenster)
Verfasst: 18.08.2005 16:21
von ts-soft
Der Ansatz von Hroudtwolf ist schon ganz gut, hier nochmal ein hoffentlich funktionierender Code:
Code: Alles auswählen
MyApp.s = Space(1000)
GetModuleFileName_(GetModuleHandle_(0), @MyAPP, 1000)
RunProgram(MyApp)
End
Verfasst: 23.08.2005 11:55
von HoDam
Dankeschön
es funktioniert
Eigenen Programmnamen ermitteln
Verfasst: 01.10.2005 13:26
von AND51
Hallo!
Dies ist mein erster Beitrg in der PureBasic Welt und der fängt mit ner Frage an:
Kannst du
MyApp.s = Space(1000)
GetModuleFileName_(GetModuleHandle_(0), @MyAPP, 1000)
RunProgram(MyApp)
End
mal bitte genauer erklären? Steht nicht in der PB-Hilfe. Bitte erklär mir jeden Parameter einzeln.
Natürlich nur den von "GetModuleFileName_", den Rest des Programms kenne ich. Ich habe natürlich schon gegoogelt aber wirklich nichts gefunden.
Bitte sag mir außerdem: Auf welchen Plattformen/Betriebssystemen funktioniert dieser obige Code?
Danke für deine Mühe, AND51
Verfasst: 01.10.2005 13:32
von MVXA
Willkommen!
Sofern du über englische Sprachkentnisse verfügst, kannst du Informationen
über System spezifische Funktionen in der MSDN nach schlagen. Hier ein Link:
http://msdn.microsoft.com/library/defau ... lename.asp
Der Code funktioniert nur unter Windows, da das eine Windows API ist und
diese gibt es nur unter Windows.
Re: Eigenen Programmnamen ermitteln
Verfasst: 01.10.2005 13:53
von Laurin
AND51 hat geschrieben:MyApp.s = Space(1000) ; Eine Textvariable wird definiert und mit 1000 Leerzeichen gefüllt.
GetModuleFileName_(GetModuleHandle_(0), @MyAPP, 1000) ; Hier wird die Textvariable mit den Pfad deines Programms gefüllt.
RunProgram(MyApp) ; Dein Programm wird ein 2. Mal gestartet.
End ; Dein 1. Programm wird beendet.
Programmnamen ermitteln
Verfasst: 01.10.2005 13:58
von AND51
Wow, ich muss schon sagen, dass ging ja wirklich schnell mit der Antwort, damit habe ich nicht gerechnet.
Danke ihr zwei! Ihr seid spitze!
Und wenn ich den Pfad, indem die exe-datei liegt herausfinden möchte brauche ich nur denselben Code aber mit "GetModuleFileName_" benutzen?
Danke, AND51
Verfasst: 01.10.2005 14:06
von Laurin
Code: Alles auswählen
MyApp.s = Space(1000) ; Eine Textvariable wird definiert und mit 1000 Leerzeichen gefüllt.
GetModuleFileName_(GetModuleHandle_(0), @MyAPP, 1000) ; Hier wird die Textvariable mit den Pfad deines Programms gefüllt.
Debug MyApp ; Pfad zu deiner Datei im Debugger ausgeben (dazu muss der Debugger aber laufen!)
End ; Dein Programm wird beendet.
Verfasst: 01.10.2005 14:20
von AND51
Ich will ja nicht groß rumnörgeln, ich wollte nur anmerken, dass bei mir dann der Pfad inkl. Programmnamen ausgegeben wird, was nicht schlimm ist. im Gegenteil: Mit
kann man den Pfad daraus ermitteln (hat am Ende einen \ Backslash \) und mit
kann man den Programmnamen ermitteln. Diese Methode finde ich gut.
Ich hoffe ich werde auch mal so ein guter PureBasic-Programmierer wie ihr! HTML, JavaScript, CSS, CGI/Perl, Qbasic, Logo und Pascal habe ich ja schon hinter mir!
Ich danke euch auch recht herzlich!
Gruß, AND51