Entwickler-Ecke

Windows API - Konsole Befehl aus Anwendung ausgeben


gizmo - Sa 05.10.13 11:52
Titel: Konsole Befehl aus Anwendung ausgeben
Hallo,

ich kann das laufende Programm Adobe After Effects zwingen ein Script auszuführen, wenn ich folgende Zeile im Ausführen Dialog von Windows eingebe:

afterfx.exe -r c:\myFolder\myScript.jsx

Wie kann ich diesen Befehl aus meiner Delphi Anwendung heraus abfeuern?


jaenicke - Sa 05.10.13 12:04

ShellExecute oder CreateProcess kannst du dafür benutzen.


gizmo - Sa 05.10.13 12:27

Shellexecute(handle,'open',PChar('afterfx.exe -r c:\myFolder\myScript.jsx'),nil,nil,SW_SHOW);

funktioniert nicht.

Wenn ich "afterfx.exe -r" weg lasse wird Photoshop geöffnet, was ich an anderen Tagen auch richtig finde.

Ich vermute mal, dass ich da einiges ändern muss. Leider kenne ich mich nur mit den Sachen aus, die ich in der Delphi Hilfe nachlesen kann. Shell gehört nicht dazu.


jaenicke - Sa 05.10.13 12:38

Schau dir doch bitte einmal in der Dokumentation an was die Parameter für ShellExecute machen, insbesondere wo die Parameter für das zu startende Programm hin kommen...
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx

Delphi-Quelltext
1:
ShellExecute(Handle, 'open''afterfx.exe''-r c:\myFolder\myScript.jsx'nil, SW_SHOW);                    


gizmo - Sa 05.10.13 13:02

Das war sehr Hilfreich. Vielen Dank!

Den Parameter nShowCmd verstehe ich jedoch nicht. Ich habe fast alle Varianten ausprobiert (SW_MAXIMIZE, SW_NORNAL ...) und es ändert sich nix.


jaenicke - Sa 05.10.13 13:39

Der Parameter tut nur etwas, wenn die Anwendung das unterstützt.


gizmo - Sa 05.10.13 13:42

OK, Danke für die schnelle Hilfe.

Schönes Wochenende

gizmo