Entwickler-Ecke
Windows API - DOS Box überwachen
ber019 - Mo 07.06.04 09:55
Titel: DOS Box überwachen
hallo!
ich habe folgendes Problem: wir haben eine Fremd Applikation in einer DOS Box laufen. Es kann sein dass hier ein Bug aufkommt und der Prozess einfach nicht mehr weiterarbeitet, er ist jedoch noch in der Taskleiste vorhanden.
Kann ich irgendwie das Ergebnis in der DOS Box abfragen oder darin was suchen, abfragen ob sich etwas geändert hat bzw. den Inhalt des Fensters in eine Datei kopieren?
DANKE !!!!!
michi
MrCoder - Mo 07.06.04 20:30
Titel: Eine Idee
Hi,
ich denke ich versteh nicht ganz was du meinst... :wink:
aber soviel hab ich verstanden: du willst die DOS Box überwachen!
Also hilft dir vielleicht folgendes: Ab Win NT/2000/XP kann man von der
DOS Box einen HWND-Handle erhalten (
GETCONSOLEWINDOW). Mit dem kannst du z.B. Screenshots
machen. Aber ich weiß nicht, ob du das meinst...
MfG,
Mr. Coder
ber019 - Di 08.06.04 08:26
hmmm, im Prinzip reicht mir wenn ich den Inhalt der DOS Box kopiere und in eine Datei ablege. Dann kann ich schon etwas damit anfangen- nach Fehlern auswerten. Nur wie bekomme ich den Inhalt in eine Datei? Den Prozess starte ich nicht mit einem Delphi Programm- also müßte ich mir den Prozess erst suchen und dann könnte ich mit dem HWND-Handle etwas ähnliches machen?
danke für deine hilfe!
lg michi
iGoA - Di 08.06.04 10:16
Man kann mit > die Ausgabe in eine Datei oder einen Drucker umleiten.
Beispiel:
gibt nicht den Verzeichnisinhalt aus, sondern erzeugt eine Datei namens TEST.TXT, wo dieser drinsteht. Ich bin nur nicht ganz sicher, ob das mit Deinem Proggi auch geht, aber wenn, dann ist das wohl die EINFACHSTE Methode.
ber019 - Di 08.06.04 12:29
hallo!
nein leider mit der PIPE hätte ich es schon probiert, das File bleibt leider leer und der Prozess funktioniert dann nicht richtig
Danke trotzdem!
lg Michi
matze - Di 08.06.04 23:53
ähm, bei der kompo bekommste aber neue zeilen in einer dos app als events mit und wenn die app längere zeit nix tut, wird sie abgeschossen (ich denke mal, dass bekommt man auch mit).
also im prinzip doch das was du willst !?
ber019 - Mi 09.06.04 08:09
ja würde passen- jetzt muss ich schaun dass ich die unit in ein kleines programm anbinde! da mach ich noch was falsch da ich immer eine exception bekomme: EAccessVialoation
Quelltext
1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.Button1Click(Sender: TObject); var F_DosCommand: TDosCommand; F_diskName : String; begin F_DosCommand.CommandLine := 'c:\mydir.bat c:\windows\*.txt'; F_DosCommand.Execute; end; |
danke und lg
michi
matze - Mi 09.06.04 11:25
du hast auch noch ein objekt von TDosCommand erstellt !
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!