Frage bezüglich WinGetHandle...

  • Tag zusammen, ich wollte da mal was wissen ^^

    Also ich wollte mal fragen wieso ich, wenn ich z.B. schreibe

    [autoit]

    $test = WinGetHandle("Unbenannt - Editor", "")
    MsgBox(0, "", $test)

    [/autoit]


    als Wert die hWnd kriege und auch mit WinSetState verwenden kann [z.B. WinSetState($test, "", @SW_MINIMIZE)], aber wenn ich ebendiese hWnd einer Variable zuordne und dann versuche WinSetState auszuführen, dann funktioniert es nicht o_O...

    Angenommen ich erhalte als hWnd 0x001601F8 oder so, dann kann ich mit $test immernoch einen WinSetState Befehl ausführen, aber mache ich jetzt

    [autoit]

    $test2 = 0x001601F8
    WinSetState($test2, "", @SW_MINIMIZE)

    [/autoit]


    oder

    [autoit]

    WinSetState(0x001601F8, "", @SW_MINIMIZE)

    [/autoit]


    dann passiert nichts... Eigentlich befindet sich hinter $test dann nur die hWnd oder nicht?

    Ich muss das aber irgendwie hinbekommen über die hWnd, die ich vorher in ein Feld schreiben lassen habe, Fenster anzusteuern.
    Es handelt sich bei dem was ich am machen bin um ein Programm, dass jedes Fenster einzeln ansteuern kann, obwohl sich die Fenster nicht unterscheiden vom Namen her (nur durch hWnd und PID)

    Hoffentlich habe ich verständlich hingeschrieben was ich will xD und jemand kann mir dabei helfen :)

  • kann vllt daran liegen, wenn du es so speicherst, dass er es als String speichert es aber keine ist?

  • Setz das Handle einfach in Hwnd(Handle). So geht's zumindest bei mir.

    Code
    $var = WinGetHandle("Unbenannt")
    $var = InputBox("Handle", "Eingeben", $var)
    WinFlash(Hwnd($var))

    Hingegen funktionier:

    Code
    $var = WinGetHandle("Unbenannt")
    $var = InputBox("Handle", "Eingeben", $var)
    WinFlash($var)

    hier auch nicht.

    Grüße,
    Buffo

  • 1000 Dank :)

    Ich kannte den Befehl hWnd nicht (ich Trottel xD) damit kann ich endlich realisieren was ich will.

    PS: Super Support hier :D weiter so

  • Handles sind eindeutige Kennzeichner für jedes Fenster, um sie identifizieren zu können.

    Threads sind kleine Segmente eines ausgeführten Programms.

    Genaueres dazu findest du z. B. bei Wikipedia.

    Grüße,
    Buffo