killprogram

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

killprogram

Beitrag von Ironsmurf »

Hallo zusammen
ich möchte ein Programm beenden, das zuvor mit dem Befehl Runprogram geöffnet wurde.
Es handelt sich um ein Mediaplayer

Code: Alles auswählen

RunProgram ("D:\Koolplaya.exe")

Wenn der Player geöffnet wurde, wird er Film auch gestartet, nun ist der Player aktiv, wie kann ich mein Programm wieder aktiv werden lassen, bisher habe ich einmal mit der Maus auf mein Programm geklickt, damit es wieder aktiv ist und Eingaben annimmt.

Wenn ich nun den Mediaplayer aus meiner Software beenden will mit dem Befel Killprogram erhalte ich folgende Fehlermeldung.

"Program is Null(0)!"
Mir fehlt also nur der richtige Parameter, leider verstehe ich nicht ganz den Befehl Killprogram.

Vielen Dank für eure Mühe im voraus

KillProgram (Koolplaya)
Es kommt immer auf die Sichtweise des Betrachters an.
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

Beitrag von Ironsmurf »

Code: Alles auswählen

KillProgram (Koolplaya)
Es kommt immer auf die Sichtweise des Betrachters an.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Die folgenden Befehle können verwendet werden, wenn ein Programm mit dem #PB_Program_Open Flag ausgeführt wurde:

- IsProgram(): überprüft, ob eine Nummer ein gültiges - mittels RunProgram() ausgeführtes Programm - darstellt.
- ProgramID(): gibt die OS Prozess-ID des Programms zurück.
- ProgramRunning(): überprüft, ob ein Programm noch läuft.
- WaitProgram(): wartet auf das Ende eines Programms.
- KillProgram(): beendet das Programm.
- ProgramExitCode(): ermittelt den Exitcode des Programms.
- CloseProgram(): schließt die Verbindung zum Programm.
Konnte das Programm nicht ausgeführt werden, ist der Rückgabewert gleich null. War RunProgram() erfolgreich, ist der Rückgabewert ungleich null.

Wenn #PB_Program_Open in den übergebenen Flags enthalten war, ist der Rückgabewert eine Nummer, welche das Programm identifiziert. Diese kann beim Aufruf von Befehlen wie ReadProgramString() oder ProgramExitCode() verwendet werden, um Informationen über das Programm zu erhalten. Gleiches bei anderen der oben genannten Befehle analog.
Zuletzt geändert von Kaeru Gaman am 03.04.2008 20:09, insgesamt 1-mal geändert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

In der Hilfe steht bei RunProgram() folgendes:
Wenn #PB_Program_Open in den übergebenen Flags enthalten war, ist der Rückgabewert eine Nummer, welche das Programm identifiziert.
also musst du das so in etwa machen (keine Ahnung obs passt, noch nie probiert)

pID.l = runprogram(<hier dein zeug>)
killprogram(pID)
closeProgram(pID)


EDIT: Da war wehr schneller und ausführlicher ;)
Antworten