![]() |
Programmstart incl. Eingabe!
Hallo Leute!
Wer hat ne Idee! Möchte gern mehrere Programme starten per Batch-Datei! Bei den Programmen sind zum endgültigen Start noch eine Eingabe (Return) erforderlich! Wer hat ne Idee! Vielen Dank Peter |
Code:
beispiel.bat: cOntExt = Groß-, Kleinschreibung spielt keine Rollex "call " kann auch weggelassen werden |
Ja das ist schon nett!
Wie verarbeite ich die Eingabe! Also Programm startet => es kommt ein Eröffnungsbildschirm => jetzt soll eine Eingabe erfolgen ("Return")=> jetzt startet das Programm erst! Gruss Peter |
Context (=ein Texteditor) muss so aufgerufen werden:
C:\Programme\ConTEXT\context.lnk beispiel.bat Dann lädt er die Datei, eine Dateiumleitung lässt dieses Programm nicht zu. Für DOS Programme kann man laufwerk:\pfad\program.lnk <hexedited_datei_mit_carriage_return_zeichen.txt aufrufen "<" steht für eine Umleitung der Eingabe. Aus einer Datei die Eingabe lesen, allerdings weiß ich nicht, ob das Eingabegerät am Dateiende auf die Tastatur zurückgesetzt wird. |
Schade klappt nicht so wie ich mir das gedacht habe!
Gruss Peter |
Um welche Programme handelt es sich?
|
AirbusND und AirbusPFD von Flyreal
Gruss Peter |
was ist mit
Code:
@echo off |
Vielen dank für die Hilfe!
Nur das alles hilft nicht wirklich! Das Problem ist nach dem ich das Programm gestartet habe macht es im Eröffnungsbildschirm eine Lizenzüberprüfung und erwartet dabei die Eingabe von CR (Return) sonst bleibt es stehen. Wie damit natürlich auch die Batch-Datei. Gruss Peter |
Du solltest Microsoft anschreiben, um das Problem lösen zu können oder zumindest zu erfahren, daß dies nicht möglich ist.
Die Fakten zum Problem sind folgende: Der Input - gemeint ist die Eingabe - wird komplett über Nachrichten gesteuert. Will man Tastendrücke (blödes Wort, Mehrzahl halt) vorher abfangen, muß man in das Betriebssystem sehr viel stärker eingreifen über einen eigenen Tastaturhandler, der nicht nur Tasten ausliest sondern eben auch eine gedrückte Taste simulieren kann ! Es geht also um das Zeichengerät Tastatur mit den Kommandos Zeichen lesen und Zeichen schreiben, beides ist wichtig. Dieser Weg ist aufgrund der Komplexität verbaut. Wie kann es dann gehen ? Durch eine Nachricht, die an das Hauptfenster der Anwendung geschickt wird, oder an das Splashfenster, falls dieses den Eingabefokus hat. Ich würde Kontakt zu Microsoft aufnehmen und fragen, ob es so ein Werkzeugprogramm gibt, das eine Anwendung herausfindet (bsp. über den Anwendungsnamen) und dann eine bestimmte Anzahl an virtuellen Tastencodes an die Anwendung mittels SendMessage(...) schickt. MS will do, so oder so ... Liebe Grüße weiterhin an Dich, mfg Kikakater |
Hallo,
Erstmal sorry dass ich diesen alten Thread wieder aus der Versenkung hole, aber ich habe auch ein Problem mit Batch dateien und auf der Suche bin ich hierauf gestoßen. Also mein Problem ist ich hab folgendes in meine Batch datei geschrieben: Code:
call "C:\Program Files\Outlook Express\msimn.exe" |
Sorry Doppelpost
|
ein
Code:
pause pong |
Hat leider nicht geholfen,
Code:
call "C:\Program Files\Opera7\opera.exe" Für mich scheints als ob das im selben Thread gestartet wird und der nächste Aufruf erst gestartet wird wenn der vorherige Thread beendet wurde. |
Das Prozedere funktioniert so (für Windows 2000/Windows XP):
Hintereinander Starten (also vom Prinzip her quasi parallel) von mehreren Windows (=GraphicalUserInterface oder auch Konsolen-) Programmen durch eine Datei b1.bat, wobei die als letzte aufgerufene Anwendung die aktive Anwendung ist - bezogen auf den Fensterstatus dieser Programminstanz. Das Konsolenfenster von b1.bat wird nach dem letzten Programmaufruf auch sogleich beendet, außer beim Einsatz von pause am Ende, aber bitte das ist eine logische Frage und weniger Anleitung zum Richtigmachen. Je nach Einsatzzweck halt nach den start Aufrufen weitere Befehle aufführen oder es dabei belassen. Code:
start /DC:\Pfad_xy_ohne_Backslash_am_Ende Programm1.exe mfg Kikakater |
Lass das call weg.
|
|
Zitat:
|
Zitat:
|
Danke jetzt funzt es so wie ichs haben wollte...
THX a lot |
Danke ... jetzt funzt es so wie ichs haben wollte
THX a lot |
@flinx: Das geht nur beim Aufruf von .lnk Dateien, so etwas wie symbolische Links unter Unix, weder war es belehrend gemeint noch den Spott Deinerseits fördernd, ja das ist so :p :) (ist nett gemeint)
|
Zitat:
zb. Code:
"C:\Programme\Mozilla Firefox\firefox.exe" |
Zitat:
|
I stand corrected. :)
Seltsamerweise funktioniert z.b. ein Code:
"C:\Programme\Mozilla Firefox\firefox.exe" |
Strange bei mir hat er einfach nicht weitergemacht. Welches Sys hast du? Ich arbeite mit Win XP. Wenn ich hngegen den Aufruf mit start mache funzt alles einwandfrei
|
Ich muß mich korrigieren: Ohne "call" funktioniert die Weiterverarbeitung einer Batchdatei mit mehreren Programmaufrufen sehr wohl, allerdings erst jeweils nach dem Beenden des aufgerufenen Programmes kommt die nächste Befehlszeile (z.B. nächster Programmaufruf) an die Reihe.
Entschuldigung flinx. Das war ein Irrtum wegen einem Tippfehler. Daß bei einem bereits laufenden Programm weitere Kopien des Programmes (=Instanzen) gestartet werden ohne Verzögerung, hängt mit der Instanzenbehandlung von Windows zusammen. So ein weiterer Programmaufruf gilt nicht mehr als echter Programmstart, sondern es wird nur mehr ein eigener Datenbereich für die neue Kopie desselben Programms angelegt. Das ist eine unterschiedliche Behandlung und somit eine Eigenart von Windows in Bezug auf Programmkopien im Speicher. |
Zitat:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag