Frage

Ich habe eine Anwendung, die eine andere Konsolenanwendung aufrufen und einige Parameter an es übergeben (Konsole App ist ein Video- / Audio-coverter app) ... ist es eine Möglichkeit, programmatisch „Spion“ oder die übergebenen paramters andere als Einhaken fangen / Überwachung shellexecute / Create etc?

War es hilfreich?

Lösung

Ja, es ist - wie Sie schreiben Prozess Explorer ist in der Lage, es zu tun, und man konnte die gleiche Technik verwenden. Aber AFAIK gibt es keine Delphi Übersetzung der winternl.h Datei aus dem Platform SDK, so ist es noch mühsam und schwierig. Auch dies ist extrem versionsspezifische, und es gibt Chancen, es mit der nächsten Windows-Version zu brechen. Es ist auch nicht ganz klar, ob dies für 64-Bit-Prozesse arbeitet (von einem 32-Bit-Prozess).

Wenn Sie es wirklich tun wollen, müssen Sie die notwendigen Informationen in dieses Blog-Posting von Matt Pietrek , und in dem Artikel Codeproject" lesen Umwelt Strings von Remote-Prozess “.

Wenn Sie nicht vorhaben, es für Closed-Source-kommerzielle Programme zu verwenden, dann einen Blick in die (GPL) kommentierte Version der winternl.h Datei aus dem ReactOS-Projekt wäre wahrscheinlich auch helfen.

Andere Tipps

Erstellen Sie eine ausführbare Datei, die sich gegen das Original aufruft und alle Parameter auf ihm. Dann bewegen Sie woanders das Original und ersetzen Sie es mit Ihrer exe. Ihr Programm kann dann melden Sie sich alle Anrufe an sie, einschließlich aller Parameter.

Es ist ein Win32 FAQ seit 1992: nur die PEB lesen
. Siehe Win32 Expertengruppe .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top