[gelöst] externes Programm beenden
Moderator: Moderatoren
[gelöst] externes Programm beenden
Hallo Experten,
gibt es ein Gegenstück zu
shell ("Programm.exe")
um dieses auch zu beenden ?
gruß
sven-my
gibt es ein Gegenstück zu
shell ("Programm.exe")
um dieses auch zu beenden ?
gruß
sven-my
Zuletzt geändert von sven-my am Sa, 27.06.2009 17:06, insgesamt 1-mal geändert.
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: externes Programm beenden
Da Du *.exe aufrufst - bist Du unter Windows unterwegs.
Das Gegenstück heisst bei Unix kill, ich weiss gerade nicht, ob WinXP das mitbringt, aber da gibt's bestimmt Möglichkeiten.
Auf beiden Plattformen hast Du das Problem, dass der shell Aufruf keine ProzessID zurück gibt. Du kannst also nicht gezielt diesen Prozess stoppen, sondern nur "ein Programm mit Namen..." (spielt bei Dir vielleicht keine Rolle).
Viel Spass beim killen
Das Gegenstück heisst bei Unix kill, ich weiss gerade nicht, ob WinXP das mitbringt, aber da gibt's bestimmt Möglichkeiten.
Auf beiden Plattformen hast Du das Problem, dass der shell Aufruf keine ProzessID zurück gibt. Du kannst also nicht gezielt diesen Prozess stoppen, sondern nur "ein Programm mit Namen..." (spielt bei Dir vielleicht keine Rolle).
Viel Spass beim killen
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: externes Programm beenden
Hallo komma4,
kill würde mein Programm LÖSCHEN .
mit
kill (Pfad + Dateiname + Dateierweiterung)
lösche ich z.B. eine nicht benötigte temporäre Datei.
Ich suche es auch nicht für XP oder win98, sondern will die Anweisung innerhalb eines Makro nutzen, um mein Adress-Prg zu beenden, da es einen kleinen Bug enthält, und nur dann Daten an OpenOffice übergibt, wenn es nach OpenOffice gestartet wurde.
sorry, war meine Schuld --- ich sollte mich doch nicht zu kurz fassen.
gruß
sven-my
kill würde mein Programm LÖSCHEN .
mit
kill (Pfad + Dateiname + Dateierweiterung)
lösche ich z.B. eine nicht benötigte temporäre Datei.
Ich suche es auch nicht für XP oder win98, sondern will die Anweisung innerhalb eines Makro nutzen, um mein Adress-Prg zu beenden, da es einen kleinen Bug enthält, und nur dann Daten an OpenOffice übergibt, wenn es nach OpenOffice gestartet wurde.
sorry, war meine Schuld --- ich sollte mich doch nicht zu kurz fassen.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: externes Programm beenden
Sven,
auch meine Antwort ist kurz ausgefallen: Du solltest nicht kill programm.exe codieren, sondern eher so etwas wie
shell( "kill programm.exe" ) .
Unter Unix würde das einen laufenden Prozess programm.exe beenden.
Die Anweisung ist also dem Kommandointerpreter zu übergeben - und der ist dann (unabhängig davon, dass aus Basic aufgerufen wird) von der Umgebung abhängig. Suche also (Tante Google) einen Prozessbeendigungsbefehl für Deine Zielumgebung, und rufe diesen über die Basic-Anweisung shell auf.
Besser?
auch meine Antwort ist kurz ausgefallen: Du solltest nicht kill programm.exe codieren, sondern eher so etwas wie
shell( "kill programm.exe" ) .
Unter Unix würde das einen laufenden Prozess programm.exe beenden.
Die Anweisung ist also dem Kommandointerpreter zu übergeben - und der ist dann (unabhängig davon, dass aus Basic aufgerufen wird) von der Umgebung abhängig. Suche also (Tante Google) einen Prozessbeendigungsbefehl für Deine Zielumgebung, und rufe diesen über die Basic-Anweisung shell auf.
Besser?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: externes Programm beenden
Hallo Experten,
hoffentlich habe ich mit einer Reaktion nicht zu lange auf mich warten lassen, der (große) Rest des Makro hat mich doch mehr beschäftigt, als gedacht.
Zum oben beschriebenen Problem habe ich eine neue Frage :
eine Datei, die diese Aktion entweder per Doppelklick, bzw. mit Kontextmenue\öffnen, erledigt habe ich.
Wie kann ich die starten ??? Da keine *.exe klappt es mit "shell" nicht.
Lw:/ordner/datei.brs
Jetzt muß ich "nur" eine Möglichkeit haben das Öffnen innerhalb des Makro zu realisieren.
gruß
sven-my
hoffentlich habe ich mit einer Reaktion nicht zu lange auf mich warten lassen, der (große) Rest des Makro hat mich doch mehr beschäftigt, als gedacht.
Zum oben beschriebenen Problem habe ich eine neue Frage :
eine Datei, die diese Aktion entweder per Doppelklick, bzw. mit Kontextmenue\öffnen, erledigt habe ich.
Wie kann ich die starten ??? Da keine *.exe klappt es mit "shell" nicht.
Lw:/ordner/datei.brs
Jetzt muß ich "nur" eine Möglichkeit haben das Öffnen innerhalb des Makro zu realisieren.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: externes Programm beenden
Hallo Experten,
die Batch-Datei habe ich mit viel Hilfe jetzt fertig, hat nur den Schönheitsfehler, daß dafür ein entsprechendes Programm auf dem Rechner sein muß --- funktioniert also auf dem Stick nicht.
Das ist aber zu verschmerzen.
Falls jemand noch eine andere Idee hat, bin ich für jeden Vorschlag dankbar.
Erstmal an alle Helfer herzlichen Dank.
gruß
sven-my
die Batch-Datei habe ich mit viel Hilfe jetzt fertig, hat nur den Schönheitsfehler, daß dafür ein entsprechendes Programm auf dem Rechner sein muß --- funktioniert also auf dem Stick nicht.
Code: Alles auswählen
oSer = createUNOService("com.sun.star.system.SystemShellExecute")
oSer.execute("E:\PCA25\PCAoff.brs",0,0)
Falls jemand noch eine andere Idee hat, bin ich für jeden Vorschlag dankbar.
Erstmal an alle Helfer herzlichen Dank.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: externes Programm beenden
Hi Sven-my,
erstelle Dir doch eine eigene Batchdatei mit folgendem Inhalt:
"DeinProgramm" aber ohne Sufix!!!
Diese Batch kannst Du dann auf Deinem Stick und/oder Desktop ablegen und entsprechend aufrufen.
Es ist auch egal ob das zu beendende Programm vom Stick oder Desktop gestartet wurde.
Der Befehl "kill" löscht das Programm nicht, im Gegensatz zum Basicbefehl, sondern beendet es einfach.
Jürgen
erstelle Dir doch eine eigene Batchdatei mit folgendem Inhalt:
Code: Alles auswählen
@Echo Adressprogramm beenden
kill DeinProgramm
Diese Batch kannst Du dann auf Deinem Stick und/oder Desktop ablegen und entsprechend aufrufen.
Es ist auch egal ob das zu beendende Programm vom Stick oder Desktop gestartet wurde.
Der Befehl "kill" löscht das Programm nicht, im Gegensatz zum Basicbefehl, sondern beendet es einfach.
Code: Alles auswählen
Win98 > kill
Code: Alles auswählen
XP > tskill
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: externes Programm beenden
hallo Jürgen,
ich habe jetzt in eine Datei Namens "PCAoff.bat" nacheinander geschrieben :
1.Versuch :
----------------------------
@Echo Adressprogramm beenden
kill pca20
----------------------------
2.Versuch : PCA20
3.Versuch : (PCA20)
4.Versuch : (pca20)
5.Versuch : "PCA20"
6.Versuch : "pca20"
7.Versuch : PCA20.exe
8.Versuch : pca20.exe
ergibt immer wieder die Fehlermeldung :
Befehl oder Dateiname nicht gefunden.
'kill' scheint es in win98 nicht zu geben, genauso wie es 'help' in win9x und ME nicht gibt.
gruß
sven-my
ich habe jetzt in eine Datei Namens "PCAoff.bat" nacheinander geschrieben :
1.Versuch :
----------------------------
@Echo Adressprogramm beenden
kill pca20
----------------------------
2.Versuch : PCA20
3.Versuch : (PCA20)
4.Versuch : (pca20)
5.Versuch : "PCA20"
6.Versuch : "pca20"
7.Versuch : PCA20.exe
8.Versuch : pca20.exe
ergibt immer wieder die Fehlermeldung :
Befehl oder Dateiname nicht gefunden.
'kill' scheint es in win98 nicht zu geben, genauso wie es 'help' in win9x und ME nicht gibt.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: externes Programm beenden
Hallo Sven-my,
sorry wenn ich Dir soviel Arbeit gemacht habe mit dem Ausprobieren.
Aber dennoch gebe ich so schnell nicht auf.
Hier noch ein Vorschlag wenn Du möchtest:
Jürgen
sorry wenn ich Dir soviel Arbeit gemacht habe mit dem Ausprobieren.

Aber dennoch gebe ich so schnell nicht auf.
Hier noch ein Vorschlag wenn Du möchtest:
Code: Alles auswählen
taskkill DeinProgramm.exe
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Re: externes Programm beenden
Hallo Jürgen,
die Arbeit hast ja wohl Du ! Ich kann nur profitieren.
Leider klappt auch dieser Vorschlag nicht.
gruß
sven-my
die Arbeit hast ja wohl Du ! Ich kann nur profitieren.
Leider klappt auch dieser Vorschlag nicht.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable
Re: externes Programm beenden
Hallo Experten,
das Problem ist indirekt gelöst, indem ich eine Batch-Datei vom Makro aus aufrufe, in der die Befehle zum Beenden des Programms funktionieren.
gruß
sven-my
das Problem ist indirekt gelöst, indem ich eine Batch-Datei vom Makro aus aufrufe, in der die Befehle zum Beenden des Programms funktionieren.
gruß
sven-my
win7 prof / AOO 4.1.2 & AOO 3.4.0 portable