Announcement

Collapse
No announcement yet.

"Aufrufer" einer .EXE ermitteln

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • "Aufrufer" einer .EXE ermitteln

    Hallo zusammen,

    gibt es für eine .EXE die Möglichkeit festzustellen wie bzw. von welchem Programm sie aufgerufen wurde, wenn ja wie?

    Hintergrund ist der, dass ich für meine Kundenprojekte ein universelles Updateprogramm geschrieben habe, innerhalb dieses Programms aber feststellen möchte von welchem Projekt es aufgerufen wurde, umd dieses zu schließen und anschl. an das Update wieder zu öffnen. Über die Parameterübergabe gibt's das eine oder andere Problem (lange Dateinamen mit Leerstellen) und macht auch auf mich keinen "professionellen" Eindruck.

    Ich bedanke mich für jede Anwort

    mfg Holger

  • #2
    Hallo Holger,<br>genau so ein Programm habe ich mir auch geschrieben.<br>Dabei gehe ich wie folgt vor:<br>
    1. Starte im Porjekt über CreateProcess das Update Programm<br>
    2. Warte einen kleine Augenblick (z.b. Sleep(2000))<br>
    3. Hole über FindWindow das MainForm Handle von Update<br>
    4. Sende über eine private Botschaft das Projekt-MainForm-Handle<br>
    &nbsp;&nbsp;&nbsp;&nbsp;an Update.<br><br>
    Jetzt kann Du, da Du das Handle hast, alles mögliche an das Projekt senden. Z.B PostMessage(PrjMainFormHandle,WM_QUIT,0,0) schließt die Projekt-EXE.<br>Du kannst Dir auch noch mehr Botschaften ausdenken. Die Botschaften, die ich verwende, habe ich in eine extra Unit gepackt, die von allen Projekten eingebunden wird.<br>
    :-) Jens Schuman

    Comment

    Working...
    X