Du kannst doch einfach Programm2 Killen, wenn Du geschlossen wirst.
Ich nehme mal an, das MeinProgramm eine Console ist, dann brauchste
natürlich noch ein Ereignis, wenn Du geschlossen wirst, das geht dann so:
Procedure ControlHandler(fdwCtrlType)
Select fdwCtrlType
Case #CTRL_C_EVENT
Debug "ctrl-c"
ProcedureReturn #True
Case #CTRL_CLOSE_EVENT
; hier Programm 2 schliessen
Debug "close"
CloseConsole()
Case #CTRL_BREAK_EVENT
Case #CTRL_LOGOFF_EVENT
Case #CTRL_SHUTDOWN_EVENT
EndSelect
ProcedureReturn #False
EndProcedure
OpenConsole()
ConsoleColor(14,0)
ConsoleLocate(10,12)
PrintN("this is a test")
SetConsoleCtrlHandler_(@ControlHandler(), #True)
Repeat ;endless Loop
Delay(1)
ForEver
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.
nicht unnötige CPU Arbeit?
Sehe ich das richtig, dass das eine Procedure ist, welche über einen Handler ermittelt ob die Console geschlossen wird und anhand dessen dann Prog2 killt?
Ich hab damit noch net so viel gearbeitet... Aber is ja fast Wochenende , da hab ich denn mehr als genug Zeit. Danke schonmal!
vielleicht sagste erstmal ob MeinProgram eine GUI ist, oder eine Console?
Die Schleife ist nur Platzhalter, für das, was MeinProgram macht, irgendwas
wirds doch wohl machen
Ansonsten haste es richtig erkannt, ich bin mal von einer Console
ausgegangen, weil mit einer GUI wäre es ja wesentlich einfacher auf das
Beenden zu reagieren.
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.
MeinProgram ist bisher nur eine BatchDatei, welche allerdings bald als richtiges Programm realisiert werden soll. Ich habe beide Möglichkeiten, würde ein ConsoleWindows allerdings begrüßen. Das Einzige, was MeinProgram macht, ist eine bestimmte EXE mit bestimmten Parametern zu starten, anstatt diese EXE ohne Parameter starten zu lassen. :]
LifeSux hat geschrieben:Das Einzige, was MeinProgram macht, ist eine bestimmte EXE mit bestimmten Parametern zu starten, anstatt diese EXE ohne Parameter starten zu lassen. :]
... dir ist bekannt, dass du in einer Verknüpfung für die EXE Parameter mit angeben kannst?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
LifeSux hat geschrieben:Das Einzige, was MeinProgram macht, ist eine bestimmte EXE mit bestimmten Parametern zu starten, anstatt diese EXE ohne Parameter starten zu lassen. :]
... dir ist bekannt, dass du in einer Verknüpfung für die EXE Parameter mit angeben kannst?
Gute Idee, aber leider nicht ganz so einfach. Das Programm1, welches Programm2 mit bestimmten Parametern aufrufen würde, hat nicht immer die gleichen Parameter. Meine bisherige Batch nimmt die Parameter AN und startet dann Programm2 mit diesen. Deshalb kann ich keine Verknüpfug nehmen. Versteht das eigtl wer? XD Iwi ...
Also.
Ich biete kostenloses Sponsoring (lol) für Clans bei etwas unbekannteren Games an. (z.B. Teeworld, Soldat)
Das Webinterface welches man kostenlos bekommen kann zum verwalten dieser Server bietet auch so genanntes "Vermieten / Buchen" von Servern an. Da kann dann jede x-belibige Person einen Server mit wunsch- Setting fürs bis zu 2 Stunden alle 14 Tage mieten. Dadurch könnten auch kleine Clans, welche nur 1 - 2 mal die Woche ein Match haben in den Genuss eines dedicated Servers kommen. Mit den GameServern an sich funktioniert es schon zu 100%. Wunderbar. Doch ich will den 'kleinen' auch einen Teamspeak Server für die Zeit zur Verfügung stellen, bei dem ich derzeit diese Probleme erfahre. (Vom Hersteller kein Support in dieser Richtung.)
Auch TS ist nativ im Webinterface 'eingebunden', verursacht allerdings Probleme wenn man probiert einen Server zu buchen (es geht angeblich (laut Hersteller des Interface) aus technischen Gründen nur eine Server oder so). Ich habe jetzt rausgefunden, dass man in der Commandline beim starten des TS² Servers auch die INI und Datenbank bestimmen kann. Das Webinterface kann allerdings keine Datenbank erstellen. Das macht jetzt MeinProgramm mit den Settings, die der Buchende im Webinterface einstellt. Diese eingestellten Settings vom Buchenden werden also an MeinProgramm geben, dieses erstellt die passende Datenbank und gibt dann alle nötigen Commands (wie z.B. die zu nutzende Datenbank) an den TeamSpeak Server.
Jetzt allerdings staret das Webinterface ja MeinProgramm. (Eine Batch als Exe... e.e) Dadurch kann das WebInterface den TS² Server welcher von MeinProgramm gestartet wird nicht beenden / restarten, da dem WebInterface nur die PID von MeinProgramm vorliegt. Ist die Buchungszeit (natürlich auch 100% kostenlos) jetzt abgelaufen, kann das WebInterface den Server nicht beenden sondern beendet nur MeinProgramm.
Kann mich irgendwer verstehen / mir folgen?
Vllt. hat ja noch jemand nen Silbertablet irgendwo rumliegen... würde auch Traffic / Webspace / Serverleistung / Nen Server (also für ein bestimmtes Game wenn ichs hab und es nich zu viel Leistung braucht...) bieten, falls mal jmd ne art Chat mit Server bauen will oder sowas. Immerhin ist das alles komplett uneigennützig... (wird bestimmt auch von den Clans bestätigt)
MeinProgramm und offiziell "Programm2" wird NICHT über CGI gestartet. Denn genau genommer ist das WebInterface schon ein Programm, welches den weiteren Zugriff ermöglicht und das WebInterface ist lediglich die Oberfläche dieses. Wie ganz genau die was machen kann ich leider nicht sagen. Aber das ist ja auch hier nicht relevant :[
Oda?