Seite 1 von 1

Programm wird nicht beendet

Verfasst: 17.10.2012 19:05
von enigma
Hallo,
ich bin absoluter Anfänger in PB und möchte ein kleines Prog schreiben das ein fremdes Programm startet und nach einer bestimmten Zeit wieder beendet.

Mit:
processID.l = RunProgram("xxx","","",#PB_Program_Open)
Delay(600000)
KillProgram(processID)
CloseProgram(processID)

funzt das so wie ich es will - nur nicht bei allen Programmen. :evil:

Das Prog auf das es mir ankommt hat eine Abfrage: Willst du wirklich das Programm beenden?
Ist das der Grund warum das Programm nicht beendet wird? Wenn ja, wie kann ich mein Vorhaben anders realisieren?

Jeder Tip wird dankbar angenommen.

Gruß
Enigma

Re: Programm wird nicht beendet

Verfasst: 17.10.2012 19:20
von ts-soft
Du kannst es z.B. mit der AutoWin_Include machen: http://www.purebasic.fr/german/viewtopi ... 24#p267424

Re: Programm wird nicht beendet

Verfasst: 18.10.2012 08:18
von enigma
Danke für den Tip. Werde ich mal testen.

Gruß
Enigma

Re: Programm wird nicht beendet

Verfasst: 18.10.2012 09:08
von ts-soft
ungefähres Vorgehen mit AutoWin:
Programm beenden, warten mit "AW_WinActive()" bis der Dialog auftaucht und dann mit "AW_ControlClick() "
den "Ja" Button clicken.

Den Rest wirst Du selber ausprobieren müssen.

Gruß
Thomas

PS: AutoWin als Include verwenden, UserLib ist veraltet.

Re: Programm wird nicht beendet

Verfasst: 18.10.2012 13:30
von enigma
Danke, ich werde mich mal daran machen und mich dann wieder melden.

Gruß
Enigma

Re: Programm wird nicht beendet

Verfasst: 07.11.2012 15:24
von enigma
So, nachdem ich nun wochenlang versucht habe mit AutoWin mein Problem zu lösen bin ich auch zu einem Ergebnis gekommen: Ich bin einfach zu blöd oder zu alt oder beides. :oops:

Meine Lösung sieht nun so aus:

Code: Alles auswählen

Res=RunProgram ("XXX","","")
   Delay(900000)
    OpenConsole()
    Res=RunProgram ("taskkill.bat")
    Delay(2000)
    CloseConsole()
in der taskkill.bat steht nur der Consolenbefehl taskkill mit dem Parameter /F.

Damit wird das Programm brutal ohne Nachfrage beendet. Ich würde das gern anders lösen aber ich weiß nicht wie. Vielleicht kann mir jemand ein kleines Muster schreiben aus dem auch ich schlau werde.

Habe die Hoffnung noch nicht ganz aufgegeben.

Gruß
Enigma

Re: Programm wird nicht beendet

Verfasst: 07.11.2012 15:35
von NicTheQuick
Warum nicht gleich mit den passenden PB-Befehlen?

Code: Alles auswählen

Define Res.i = RunProgram ("XXX","","")
If (Res)
	Delay(900000)
	If (IsProgram(Res))
		KillProgram(Res)
	EndIf
EndIf

Re: Programm wird nicht beendet

Verfasst: 07.11.2012 15:56
von enigma
danke für die schnelle Antwort aber leider läüft das so nicht.
Mein Prog öffnet beim Beenden ein Abfragefenster: Willst du wirklich ... ? Und an dieses Fenster komme ich nicht dran um zu sagen: Ja, ich will.
Darum habe ich gehofft das mit der vorgeschlagenen AutoWin zu lösen. Aber wie gesagt zu blöd.

Gruß
Enigma