Metin2 Verstecken

  • Also, von zeit zu zeit wage ich mich mal wieder an verschiedene Programmiersprachen und dieses mal hat mir autoit es angetan. Nun zum eigentlichen Problem:
    Ich versuche das zu tun was oben im Namen des Threads steht. Nämlich ein Script zu schreiben das das MMORPG Metin2 aus der Taskleiste und aus der Spalte Anwendungen im Task-Manager verschwinden lässt. Mein Script sieht bis jetzt so aus:

    HotKeySet("{F9}", "hide")
    HotKeySet("{F10}", "show")
    AutoItSetOption("WinTitleMatchMode", 4)
    While 1
    Sleep(1000)
    WEnd

    Func hide()
    Global $Show = 0
    Global $handle = WinGetHandle("Metin2")
    WinSetState($handle, "", @SW_MINIMIZE)
    WinSetState($handle, "", @SW_HIDE)
    If @error Then
    MsgBox(0, "error", "konnte metin2 nicht finden")
    Else
    While 1
    $unique = Random(1, 4, 1)
    If $unique = 1 Then
    ControlSend($handle, "", "", "{UP DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{UP UP}")
    ControlSend($handle, "", "", "{DOWN DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{DOWN UP}")
    Sleep(200000 + Random(5000, 15000, 1))
    ElseIf $unique = 2 Then
    ControlSend($handle, "", "", "{RIGHT DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{RIGHT UP}")
    ControlSend($handle, "", "", "{LEFT DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{LEFT UP}")
    Sleep(200000 + Random(5000, 15000, 1))
    ElseIf $unique = 3 Then
    ControlSend($handle, "", "", "{DOWN DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{DOWN UP}")
    ControlSend($handle, "", "", "{UP DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{UP UP}")
    Sleep(200000 + Random(5000, 15000, 1))
    ElseIf $unique = 4 Then
    ControlSend($handle, "", "", "{LEFT DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{LEFT UP}")
    ControlSend($handle, "", "", "{RIGHT DOWN}")
    Sleep(100 + Random(1, 50, 1))
    ControlSend($handle, "", "", "{RIGHT UP}")
    Sleep(200000 + Random(5000, 15000, 1))
    EndIf
    If $Show > 0 Then ExitLoop
    WEnd
    EndIf
    EndFunc ;==>hide

    Func show()
    Global $Show = 1
    WinSetState("Metin2", "", @SW_SHOW)
    WinSetState("Metin2", "", @SW_MAXIMIZE)
    WinActivate($handle, "")
    EndFunc ;==>show

    Mein Problem ist halt dass das script nicht das tut was es tun soll sondern gar nichts

  • Zitat

    Global $handle = WinGetHandle("Metin2")
    WinSetState($handle, "", @SW_MINIMIZE)
    WinSetState($handle, "", @SW_HIDE)

    bei WinSetState muss dochn Titel hin, außerdem ist es nich nötig zu minimieren und zu verstecken. nur verstecken reicht glaub ich.
    Wofür sind die ganzen Controlsend-Befehle?

  • die sind da so zum spaß drin^^ und ich hatte doch in der zeile drüber handle definiert oder lieg ich voll falsch läuft auch mit namen direkt reinschreiben nicht

    2 Mal editiert, zuletzt von Basilisk77 (6. August 2008 um 22:26)