Prozess Beenden

Anfängerfragen zum Programmieren mit PureBasic.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

seh ich genau so. es gibt hier nicht den geringsten grund, den prozess zu killen.
wenn man ein programm schreibt, sollte man eine möglichkeit einbauen, dass dieses programm sich beendet, selbst wenn es auf dauerbetrieb ausgelegt ist.

wenn es eine art service ist, sollte es eigentlich anständiger weise ein systray-icon haben und dort ein menu, womit man es beenden kann.

und selbst wenn nicht, ein programm, das man selber geschrieben hat, mit einer endbedingung zu versehen ist doch wirklich einfach.
das einzige etwas schwierigere ist hier wohl die globale kommunikation mit dem setup.
ts hat da ja schon ein paar stichworte fallen lassen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Zulman
Beiträge: 23
Registriert: 29.12.2008 22:19

Prozess beenden

Beitrag von Zulman »

Ok, dankeschön für die ganze hilfe :) . Und zu der frage wie ich die Uninstall gemacht habe kann ich folgendes sagen. Ich habe eine Setup-Datei programmiert, die einige Infos für den automatischen Prozess abfrägt und jeweils in einer eigenen .txt datei speichert. Das ganze wird automatisch im "Meine Dateien" Ordner gespeichert, den es ja schon bei der Installation von Windows erstellt. Dazu wie ich den rausfinde hab ich nen schönen Code im Codearchiv gefunden. Die exe datei die gestartet werden soll, wird einfach automatisch in den Autostart Ordner verschoben. Die uninstall (vllt habe ich mit der Bezeichnung ein bisschen übertrieben weil sie ja nur 5 dateien oder so löschen soll^^) Der code sah dann ungefähr( bin an nem andren PC und habe im Moment keinen Zugang auf meine Codes) so aus:

Code: Alles auswählen

DeleteFile("Datei1.exe")
DeleteFile("Datei2.txt")
DeleteFile("Datei3.txt")
DeleteFile("Datei4.txt")
DeleteFile("Datei5.txt")
MessageRequester("Uninstall", "Deinstallation abgeschlossen")
End
Also, wie bereits gesagt ist mein Problem, die Dateien mit DeleteFile zu löschen, weil die exe noch auf sie zugreift und ich auch diese nicht löschen kann, weil der Prozess ja noch läuft.
THEEX
Beiträge: 804
Registriert: 07.09.2004 03:13

Beitrag von THEEX »

Ich frag mich immer wieder, warum gerade viele Anfänger Programme schreiben wollen, die nur im Hintergrund laufen, andere Programme abschiessen sollen, auf andere Programme zugreifen sollen usw.... ^^
Eine Art Query-Planner soll die Ausführung von Map/Reduce-Funktionen in Hadoop stark beschleunigen.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

it's a miracle, it's a miracle

Bild
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Zulman
Beiträge: 23
Registriert: 29.12.2008 22:19

Prozess beenden

Beitrag von Zulman »

Glaube mir an so was habe ich mit keinem Ding gedacht. Mir wurde erst vor kurzem ein Trojaner auf dem PC eingeschleust... deswegen war auch beispielsweise meine gesammte ICQ kontaktliste gelöscht. Deshalb will ich damit in nächster Zeit nix zu tun haben. Mich würde so was vllt schon interessieren aber ich weiß, dass es sehr kompliziert ist und du kannst mir auch glauben ich würde so was NIEMALS verwenden um jemanden zu schaden. Ich weiß wie sowas ist wenn man Opfer ist und ich würde es höchstens mit Erlaubnis des Opfers verwenden. Wers mir nicht glaubt dem kann ich leider auch nicht mehr sagen ;) Hoffe ich hab das damit klar gestellt^^
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

du denkst mit deinem ding? :shock:


also, nochmal auf anfang:
da du die exe selber geschrieben hast, bist du auch in der lage, eine beendigungsbedingung einzubaun.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Zulman
Beiträge: 23
Registriert: 29.12.2008 22:19

Prozess beenden

Beitrag von Zulman »

Und was für eine Bedingung soll ich da einbaun? Wie kann ich das ausdrücken, dass er Prüfen soll ob das Programm (also die uninstall) läuft und dann abschaltet? Oder doch irgend wie anders?
Kaeru Gaman hat geschrieben:du denkst mit deinem ding? :shock:
Hast du ein Problem damit? :P
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

SendMessage_(),PostMessage_(),FindWindow_(), Mutex, von mir aus sogar DDE, es gibt so viele Möglichkeiten festzustellen ob ein anderes Programm läuft, such dir eine aus :mrgreen:.

> du denkst mit deinem ding? :shock:

Wer den nicht :twisted: ?
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
THEEX
Beiträge: 804
Registriert: 07.09.2004 03:13

Beitrag von THEEX »

Manchmal muß ich mich schon über einige Helfer wundern. Da schreibt einer, daß er ein Totalanfänger ist und bekommst WinApi-Befehle ohne Zusammenhang hingeknallt. Andere die schon länger dabei sind, bekommen dafür aber oft genug gleich die Komplettlösung....

@Zulman
das war als allgemeine Feststellung gedacht, bist ja nicht der Einzige, der als Anfänger seltsame Programme bauen möchte. Ich kann ja nicht beurteilen, was damit machen willst.
Kleine Bösartigkeiten mit PB zu bauen, ist gar nicht wirklich schwer. PB bietet da schon von Haus aus viele Möglichkeiten, dafür brauch man nichtmal WinApi.
Eine Art Query-Planner soll die Ausführung von Map/Reduce-Funktionen in Hadoop stark beschleunigen.
Zulman
Beiträge: 23
Registriert: 29.12.2008 22:19

Prozess Beenden

Beitrag von Zulman »

Ok, ich hab mich auch nich wirklich angegriffen oder beleidigt gefühlt^^. Aber hab jetzt mal n bisschen rum probiert und hab noch nix hin bekommen um den Prozess beenden. Ich hab mal nach den verschiedenen Befehlen in der Hilfe gesucht hab aber dazu nix gefunden... ich glaub ich weiß jetzt warum^^. Währe nett wenn mir jemand erklähren könnte wie ich diese Befehle verwende.

mfg
Zulman
Antworten