Prozess Beenden
Prozess Beenden
Hallo,
ich habe ein Programm programmiert, das eigendlich immer im Hintergrund abläuft und beim Systemstart mit startet. Mein Problem ist jetzt, dass ich mit der uninstall.exe, also der Datei zum deinstallieren von diesem kleinen Programm, die Datei ja nicht löschen kann, und auch nicht die anderen, auf die mein Prozess zugreift, weil sie ja verwendet werden. Deshalb müsste ich zuerst den Prozess beenden. Ich weiß, dass die Frage nach dem Beenden eines Prozesses hier schon öfters gestellt worden ist. Doch die Antworten haben sich immer nur auf die versionen 3.x oder 4.00 bezogen. Da ich 4.3 besitze, funktionieren diese Methoden bei mir nicht. Danke schon mal im Vorraus.
mfg
Zulman
ich habe ein Programm programmiert, das eigendlich immer im Hintergrund abläuft und beim Systemstart mit startet. Mein Problem ist jetzt, dass ich mit der uninstall.exe, also der Datei zum deinstallieren von diesem kleinen Programm, die Datei ja nicht löschen kann, und auch nicht die anderen, auf die mein Prozess zugreift, weil sie ja verwendet werden. Deshalb müsste ich zuerst den Prozess beenden. Ich weiß, dass die Frage nach dem Beenden eines Prozesses hier schon öfters gestellt worden ist. Doch die Antworten haben sich immer nur auf die versionen 3.x oder 4.00 bezogen. Da ich 4.3 besitze, funktionieren diese Methoden bei mir nicht. Danke schon mal im Vorraus.
mfg
Zulman
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Prozess Beenden
Wie meinst du das? Das Programm soll ja normalerweise die ganze Zeit durch laufen und wird per Autostart gestartet. Und ein externes Programm soll es löschen.
- 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
Re: Prozess Beenden
Wenn Du die uninstall.exe schreibst, ist es doch kein Problem eineZulman hat geschrieben:Wie meinst du das? Das Programm soll ja normalerweise die ganze Zeit durch laufen und wird per Autostart gestartet. Und ein externes Programm soll es löschen.
Kommunikationsmöglichkeit ins eigene Programm einzubauen. Postmessage,
Mailslots, SharedMemory usw.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Prozess Beenden
Tut mir leid das jetzt einfach ma so sagen zu müssen. Hätte ich vielleicht schon im vorraus sagen sollen. Aber ich hab das ganze nicht umsonst ins Anfängerforum geschrieben
. Ich Programmiere erst seit ca. 4 Tagen.

- 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
Re: Prozess Beenden
Stichworte haste bekommen, die Suchfunktion sei DeinZulman hat geschrieben:Tut mir leid das jetzt einfach ma so sagen zu müssen. Hätte ich vielleicht schon im vorraus sagen sollen. Aber ich hab das ganze nicht umsonst ins Anfängerforum geschrieben. Ich Programmiere erst seit ca. 4 Tagen.

PS: Für 4 Tage haste Dir wohl etwas viel vorgenommen und ohne Code
kannste nicht mehr als Theoretische Hinweise erwarten.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nun sagt doch mal was Aufbauendes. Nicht immer gleich entmutigen.
Wie soll das uninstall laufen? Über "Software deinstallieren", über externen Installer (EasySetup, InnoSetup) oder eigenes Programm?
Wenn Du nun Deinem Programm, so es im Systray zu sehen ist, einen Menupunkt "Beenden" verpasst? Dann könnte man es zumachen und danach deinstallieren.
Wie soll das uninstall laufen? Über "Software deinstallieren", über externen Installer (EasySetup, InnoSetup) oder eigenes Programm?
Wenn Du nun Deinem Programm, so es im Systray zu sehen ist, einen Menupunkt "Beenden" verpasst? Dann könnte man es zumachen und danach deinstallieren.
Ich glaube hier geht es um die Frage, wie man das gerade laufende Programm von der Platte putzen kann.
Guck mal hier: http://www.purearea.net/pb/german/sr_vi ... OwnExe1.pb
Guck mal hier: http://www.purearea.net/pb/german/sr_vi ... OwnExe1.pb
- orderinchaos
- Beiträge: 49
- Registriert: 20.06.2008 16:19
vielleicht hilf dir auch das hier weiter :
quelle: purebasic codearchive
musst nur die PID deines prozesses auslesen, was ja auch relativ leicht zu bewerkstelligen ist, und danach deinen prozess mit der obigen prozedur beenden... danach löschen...
sollte funktionieren....
Code: Alles auswählen
Procedure KillProcess (pid)
phandle = OpenProcess_ (#PROCESS_TERMINATE, #False, pid)
If phandle <> #Null
If TerminateProcess_ (phandle, 1)
result = #True
EndIf
CloseHandle_ (phandle)
EndIf
ProcedureReturn result
EndProcedure
musst nur die PID deines prozesses auslesen, was ja auch relativ leicht zu bewerkstelligen ist, und danach deinen prozess mit der obigen prozedur beenden... danach löschen...
sollte funktionieren....
- 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
Selbst wenn, ist diese Methode absolut nicht empfehlenswert. Man schmeißtorderinchaos hat geschrieben: sollte funktionieren....
Programme gegen Ihren Willen nur im absolutem Notfall raus. Wie sollen
die armen Programme Ihre Einstellungen speichern, Speicher- und
Resourcen freigeben, wenn sie gekillt werden (viel zu blutig

Hier gehts nicht um ein fremdes Programm und Notfall liegt nicht vor!
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
