Entwickler-Ecke
Windows API - Shellexecute funktionsprobleme beim Aufrufen einer bat-Datei
Grafix - Do 15.07.10 23:50
Titel: Shellexecute funktionsprobleme beim Aufrufen einer bat-Datei
Hallo,
ich möchte mit Shellexecute eine bat-Datei aufrufen, die dann ein JavaProgramm initialisiert. (Das Programm ist der WOM-Client von Minecraft). Anzumerken ist, dass die bat-Datei prüft, ob eine bestimmte Java-Datei vorhanden ist - was sie definitiv ist.
Will ich diese Bat-Datei nun mit dem shellexecute Befehl starten, gibt die batch eine Fehlermeldung, dass eben diese Datei nicht vorhanden sei. Starte ich sie direkt mit Doppelklick, funktioniert alles so wies soll... Woran kann das liegen? Der Fehler wird doch wohl bei meiner Programmierung liegen, nicht an der Batch oder?
Danke für alle Hinweise
Lg
Grafix
Grafix - Fr 16.07.10 00:04
Ahh danke, daran lag's.
So nebenbei, nach welchem Stichwort muss ich suchen, wenn mein Delphiprogramm überwachen und reagieren soll, wenn das aufgerufene Programm wieder geschlossen wird?
Gerd Kayser - Fr 16.07.10 00:47
Grafix hat folgendes geschrieben : |
So nebenbei, nach welchem Stichwort muss ich suchen, wenn mein Delphiprogramm überwachen und reagieren soll, wenn das aufgerufene Programm wieder geschlossen wird? |
Wenn mit dem aufgerufenen Programm die Batchdatei gemeint ist, sollte es vom Prinzip wie folgt gehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| var Befehl : String; StartupInfo : TStartupInfo; ProcessInfo : TProcessInformation; begin Befehl := 'cmd.exe /c <Batchdateiname>';
FillChar(StartupInfo, SizeOf(TStartupInfo), 0); StartupInfo.cb := SizeOf(TStartupInfo);
StartupInfo.dwFlags := StartF_UseShowWindow; StartupInfo.wShowWindow := SW_Hide;
if CreateProcess(nil, PChar(Befehl), nil, nil, false, 0, nil, 'c:\', StartupInfo, ProcessInfo) then begin WaitForSingleObject(ProcessInfo.hProcess, Infinite); CloseHandle(ProcessInfo.hProcess); end; |
Wichtig ist, daß cmd.exe mit dem Parameter /c aufgerufen wird, damit sich die Eingabeaufforderung nach dem Beenden des Batchprogrammes von alleine wieder schließt.
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!