win handle

  • hallo,
    ich möchte gerne zu einem titel etwas mit controlsend schicken.

    also z.b. : ControlSend(WinGetHandle("Title"), "", "", "Hallo")
    so klappt.

    wingethandle = 0x005E01BC

    wenn ich nun aber nur die handle weiß, wie kann ich dann etwas an das fenster senden?

    ControlSend(0x005E01BC, "", "", "Hallo") klappt irgendwie nicht..


    thx 4 help

    Einmal editiert, zuletzt von Frayzer (26. November 2008 um 21:32)

  • Hi

    Es sollte eigentlich funktionieren!

    Wie kommst du eigentlich zu dem Handle?

    Code
    wenn ich nun aber nur die handle weiß, wie kann ich dann etwas an das fenster senden?

    Info: WinHandles sind jedesmal anders!

    [autoit]

    Run("notepad.exe")
    WinWait("Unbenannt")
    $Handle=WinGetHandle("Unbenannt")
    WinClose($Handle)
    WinWaitClose($Handle)

    [/autoit][autoit][/autoit][autoit]

    Run("notepad.exe")
    WinWait("Unbenannt")
    $Handle2=WinGetHandle("Unbenannt")
    WinClose($Handle2)

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0,"",$Handle & @CRLF & $Handle2)

    [/autoit]


    lgE

  • ja das weiß ich.
    die handle bekomme ich aus dem listview einer anderen gui.
    habe es nun anders gelöst mit pid und winlist

    thx anyway ;)

  • OK sorry ;)

    mir ist soeben etwas aufgefallen (bei Notepad):
    Wenn das Fenster NICHT aktiv ist, dann funktioniert ControlSend($Handle,"","","Test") nicht!
    Mit WinActivate davor schon...

    aber auf jeden Fall geht es, wenn man noch den Control angibt: ControlSend($Handle,"","Edit1","Test")

    vielleicht hilft dir das mal weiter...

    lgE