Announcement

Collapse
No announcement yet.

fernsteuern eines anderen Programm (Tastendrücken)

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

  • fernsteuern eines anderen Programm (Tastendrücken)

    Hallo ,

    ich würde gerne eine fremde Exe "fernsteuern" um genauer zu eine das Manuelle vorgehen simulieren. Also das Programm starten; Alt+F drücken warten bis die ausgelöste Aktion beendet ist; Programm wieder schließen.

    Starten klappt super mit ShellExectueEx und das schließen auch. Nur das Alt+F drücken funktioniert noch nicht.

    Ich habs mit WM_SYSKEYDOWN probiert funktioniert aber nicht.
    <BR>
    PostMessage(sei.hProcess, WM_SYSKEYDOWN, VK_MENU, 0x20000001);<BR>
    PostMessage(sei.hProcess, WM_SYSKEYDOWN, 'f', 0x20000001);<BR>

    <BR>
    sei ist der Parameter den ich ShellexecteEx übergebe.
    <BR>
    In Winsigth taucht die Nachricht auch irgendwie nicht auf. <BR>

    Hat jemand eine Ahnung was ich falsch mache?
    Ist hprocess am ende gar nicht das richtige Handle an das ich die Message Schicken muss?

    Danke Yves

  • #2
    Ähhh meinen bescheidenen Kenntnissen nach kannst du Shellexecute oder ShellexecuteEx doch gar kein Fensterhandle übergeben???

    Der Parameter hwnd ist der PARENT des Prozesses, den du mit Shellexecute jetzt erzeugen willst.

    M.E. müsstest du mit FindWindow erstmal deine Anwendung suchen.

    Kann mich aber auch irren
    Christian

    Comment


    • #3
      Hallo Christian,
      ich bin inzwischen auch schlauer geworden, ich habe wohl Processhandle und Fensterhandle durcheinandergeworfen.<BR>
      Kann ich mit dem Processhandle nichts anfangen?
      Von dem Findwindow()hält mich irgendwie ab, dass ich einen Namen des Fensters kennen muss und falls die Aufgerufene Anwendung sich ändert muss ich meine Software auch neu schreiben.<BR>
      Gibt noch andere Lösungen? Über das Processhandle das Fenster zu finden?<BR>
      Oder alternativ die Anwendung mit CreateProcess und über die ProcessId das Fenster zu finden?

      Danke Yve

      Comment


      • #4
        Hallo Christian,<BR>

        du hast völlig recht, der Hwnd parameter ist das Parentwindow, und hprocess das Handle des Processes den ich öffne nicht, das des Fensters.
        Ich hab jetzt mit GetForegroundWindow das FensterHandle gefunden. Und testweise mit FlashWindow Blinken lassen also das richtige handle hab ich jetzt.<BR>
        Aber mein Tastenproblem klappt immer noch nicht.
        Hast Du noch weitere Ideen?

        Danke Yve

        Comment


        • #5
          mit WinSight mal die Daten vergleichen
          Christian

          Comment


          • #6
            Hallo, <BR>
            ich glaub ich habe mein Problem gefunden.
            Syskeys werden an das ForGroundWindow geschickt.<BR>
            <BR>
            Danke Yve

            Comment


            • #7
              Danke für die Inf
              Christian

              Comment

              Working...
              X