[gelöst] externes Programm beenden

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] externes Programm beenden

Re: externes Programm beenden

von sven-my » Sa, 27.06.2009 17:05

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

Re: externes Programm beenden

von sven-my » Di, 26.08.2008 19:27

Hallo Jürgen,

die Arbeit hast ja wohl Du ! Ich kann nur profitieren.

Leider klappt auch dieser Vorschlag nicht.

gruß
sven-my

Re: externes Programm beenden

von turtle47 » Di, 26.08.2008 18:58

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:

Code: Alles auswählen

taskkill DeinProgramm.exe
Jürgen

Re: externes Programm beenden

von sven-my » Di, 26.08.2008 13:35

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

Re: externes Programm beenden

von turtle47 » Mo, 25.08.2008 18:28

Hi Sven-my,

erstelle Dir doch eine eigene Batchdatei mit folgendem Inhalt:

Code: Alles auswählen

@Echo Adressprogramm beenden
kill DeinProgramm
"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.

Code: Alles auswählen

Win98 > kill

Code: Alles auswählen

XP > tskill
Jürgen

Re: externes Programm beenden

von sven-my » So, 24.08.2008 23:47

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.

Code: Alles auswählen

oSer = createUNOService("com.sun.star.system.SystemShellExecute")
	oSer.execute("E:\PCA25\PCAoff.brs",0,0)
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

Re: externes Programm beenden

von sven-my » Sa, 23.08.2008 14:11

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

Re: externes Programm beenden

von komma4 » Do, 21.08.2008 11:35

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?

Re: externes Programm beenden

von sven-my » Mi, 20.08.2008 22:17

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

Re: externes Programm beenden

von komma4 » Mi, 20.08.2008 21:11

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

[gelöst] externes Programm beenden

von sven-my » Mi, 20.08.2008 20:44

Hallo Experten,

gibt es ein Gegenstück zu

shell ("Programm.exe")

um dieses auch zu beenden ?


gruß
sven-my

Nach oben