Aus einer ausgeführten *.EXE den Returnwert auslesen



  • Hallo mal wieder, ich hoff ich bin im richtigen Forum mit dieser Frage

    Ich habe folgenden VB Code:

    Public Function ShellX( _
        ByVal PathName As String, _
        Optional ByVal WindowStyle As VbAppWinStyle = vbMinimizedFocus, _
        Optional ByVal Events As Boolean = True _
      ) As Long
    
      'Deklarationen:
      Const STILL_ACTIVE = &H103&
      Const PROCESS_QUERY_INFORMATION = &H400&
      Dim ProcId As Long
      Dim ProcHnd As Long
    
      'Prozess-Handle holen:
      ProcId = Shell(PathName, WindowStyle)
      ProcHnd = OpenProcess(PROCESS_QUERY_INFORMATION, True, ProcId)
    
      'Auf Prozess-Ende warten:
      Do
        If Events Then DoEvents
        GetExitCodeProcess ProcHnd, ShellX
      Loop While ShellX = STILL_ACTIVE
    
      'Aufräumen:
      CloseHandle ProcHnd
    
    End Function
    

    Eine von mir erstellte EXE wird an einer anderen Stelle erfolgreich ausgeführt und arbeitet auch richtig!

    ShellX("S:\******\uebergabe.exe " & pfad1 & " " & pfad2 & " " & strIP & " false", vbHide)
    

    Also, wie gesagt, das ganze funktioniert sehr gut!
    Jetzt aber folgendes Problem:

    Die "SHELLX" bekommt den Returnwert der uebergabe.exe nicht zugewiesen!
    Was fehlt mir, damit die "Main" der uebergabe.exe den zurückliefernden Wert auch wirklich übergibt???

    Vielen Dank



  • Dieser Thread wurde von Moderator/in dEUs aus dem Forum MFC (Visual C++) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo,

    ich schreib mal schnell was rein, damit meine Frage wieder ein bischen weiter oben auftaucht!

    Danke fürs verständnis!


Anmelden zum Antworten