Quick Launch (Schnellstartleiste) unter Windows 7 berechnen vom TFT bzw. Monitor wie Groß die auflösung ist. !

  • Hallo Alle zusammen!

    Ich habe hier ein Skript von McPoldy das auf dem ersten Blick das Selbst gemachte Video von ihn von Seiner Youtube Seite Blog4it das wunderbar erklährt wird.

    hier der Skript:

    Spoiler anzeigen
    [autoit]


    Opt("SendKeyDelay", 100)
    ClipPut("%AppData%\Microsoft\Internet Explorer\Quick Launch")

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

    _ToolBarFix("unCheck")

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

    $pos = ControlGetPos("[CLASS:Shell_TrayWnd]", "", "[CLASS:MSTaskListWClass]")
    MouseClick("right", $pos[2] - 10, @DesktopHeight - 5)

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

    Send("yn")
    Send("^v")
    Send("{TAB}{Enter}")

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

    ControlClick("[CLASS:Shell_TrayWnd]", "", "[CLASS:ToolbarWindow32; Text:Quick Launch]", "right")
    ControlSend("[CLASS:Shell_TrayWnd]", "", "[CLASS:ToolbarWindow32; Text:Quick Launch]", "z")
    Sleep(500)
    ControlClick("[CLASS:Shell_TrayWnd]", "", "[CLASS:ToolbarWindow32; Text:Quick Launch]", "right")
    ControlSend("[CLASS:Shell_TrayWnd]", "", "[CLASS:ToolbarWindow32; Text:Quick Launch]", "x{enter}")

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

    $pos = ControlGetPos("[CLASS:Shell_TrayWnd]", "", "[CLASS:ToolbarWindow32; Text:Quick Launch]")
    MouseClick("left", $pos[0] - 3, @DesktopHeight - 5, 2)

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

    _ToolBarFix()

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

    Func _ToolBarFix($State = "Check")

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

    ControlClick("Start", "", "", "right")
    Sleep(500)
    Send("i")
    Sleep(500)
    Send("+{TAB}")
    Send("{LEFT}")
    ControlCommand("[Class:#32770]", "", "[CLASS:Button; ID:1105]", $State, "")
    Sleep(500)
    Send("+{TAB 2}")
    Sleep(500)
    Send("{Enter 2}")

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

    EndFunc ;==>_ToolBarFix

    [/autoit]


    Mein Problem dazu: Das Skript läuft mit einer Bestimmten auflösung wie Z.b. 800 x 600 und es ist klar das man es anpassen müsste noch wenn z.B. 1920 x 1200 . sonst würde es nicht funkionieren. jetzt habe ich mir überlegt ob es geht bevor das Skript die Option Durch führt da das Skript vorher prüft wie Groß die auflösung ist . und dann in einer Function übermittelt so da das Skript zu den Richtigen auflösung es ausführt.

    Die Idee Warum ich das so haben möchte liegt daran wenn man 2 Rechner hat und jeder eine verschiedene auflösung hat und auch gern nur das ein einziger Skript gibt für alle Auflösungen.


    wie hier z.B. 1. func 800 x 600 ()
    EndFunc

    2. func 1024 x 800 ()
    EndFunc

    Da ich nicht weiß wie ich an der Sache angehen soll brauche ich unterstützung von euch bin mit jeder Hilfe Dankbar.!!! :?:


    MfG


    Baron


    P.s. McPoldy beitrags videos sind spitze :rock:

  • Probiere das hier mal:

    [autoit]

    Func Aufloesung()
    Local $x, $y
    $x=@DesktopWidth
    $y=@DesktopHeight
    Select
    Case $x = 800 And $y = 600
    ;Funktion hier einfügen
    Case $x = 1024 And $y = 768
    ;...

    ;...
    EndSelect
    EndFunc

    [/autoit]

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

  • Hallo Baron1977,

    das Tool ist doch auflösungsunabhängig geskriptet (bei beiden Mouseclicks wird die aktuelle Höhe des Monitors und die Position des Tray's berücksichtigt). Es muss daher auf allen Monitoren laufen, vorausgestzt die Leiste ist am unteren Bildschirmrand,

    mfg (Auto)Bert

  • Zitat

    das Tool ist doch auflösungsunabhängig geskriptet (bei beiden Mouseclicks wird die aktuelle Höhe des Monitors und die Position des Tray's berücksichtigt). Es muss daher auf allen Monitoren laufen, vorausgestzt die Leiste ist am unteren Bildschirmrand,

    mfg (Auto)Bert

    ja das kann sein aber bei mir schluck das fehl anstelle es so aus sieht wie im video sind ist zwar der titel text weg also (Quick Launch) doch sind die zu die einzelne verknüpfung noch da texte da. oder es liegt daran das ich mehr in der quick launch (.ink) habe da im Video von McPoldy hat er ja nur 3 .lnk hat den Internet Explorer,Desktop anzeige und den switch ordner. das kann ich mir auch noch vorstellen das es daran liegt wenn man mehr drin hat in der Quick Launch. :?:


    die function will ihrgendwie nicht habe zwischen die zeile mal eine msgbox für die aussagung welche auflösung aktuell ist dafür habe ich auch noch meine auflösung von 1920 x 1200 mit case eingebunden doch passiert hier nichts. :?::?::?:


    Gruß Baron


    P.s. Sorry zu der Antwort von XovoxKingdom die function geht doch habe vergessen die function anzugeben :P

  • Hallo Baron1977,

    entscheidend in dem Skript sind Zeilen 7:

    [autoit]

    MouseClick("right", $pos[2] - 10, @DesktopHeight - 5)

    [/autoit]


    und Zeile 21

    [autoit]

    MouseClick("left", $pos[0] - 3, @DesktopHeight - 5, 2)

    [/autoit]


    da mit ControlGetPos zuvor die Größe und Position ermittelt wird, sind Abweichungen bei deinem System für alle angeschlossenen Monitore und Auflösungen gleich. Du kannst ja die Werte mit denen $pos[0] bzw. $pos[2] korrigiert wird anpassen eventuell musst du in Zeile 7 die Breite also @DeskTopWidth mit in der Formel verechnen.

    mfg (Auto)Bert

  • . jetzt habe ich mir überlegt ob es geht bevor das Skript die Option Durch führt da das Skript vorher prüft wie Groß die auflösung ist . und dann in einer Function übermittelt so da das Skript zu den Richtigen auflösung es ausführt.

    Um darauf nochmal zurückzukommen:

    [autoit]

    Global Const $_W = @DesktopWidth / 1280 ; 1280 = Deine Desktopbreite
    Global Const $_H = @DesktopHeight / 1024 ; 1024 = Deine Desktophöhe

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

    For $iY = 200 * $_H To @DesktopHeight * $_H Step 200 * $_H
    For $iX = 200 * $_W To @DesktopWidth * $_W Step 100 * $_W
    MouseMove($iX, $iY, 5)
    ConsoleWrite("X: " & $iX & @TAB & "Y:" & $iY & @CRLF)
    Next
    Next

    [/autoit]

    Die maus wird sich bei absolut jeder Auflösung zu den selben Punkten am Monitor bewegen.

    EDIT: Okey die Schleife ist nicht gerade ein optimales Beispiel, weil Sie ja auch einen Step weiter machen kann.

  • Hallo SEuBo!


    Denn skript hatte ich mal gestartet und er macht ihrgendwo in der mitte des Desktop bildschirm auch wenn ich meine Auflösung eintrage also erläuter ich es mal:

    Mitte vom Desktop maus Wandert nach Rechts und springt in der Mitte unterhalb des vorherigen bahn.?

    Ich denke mal er müßte eigend lich oben Links im Desktop anfangen und nach unten gehen.


    Ich habe von McPoldy das Skript die @DesktopWidth und @DesktopWidth angepasst dann Funkionierte es bei mir egal welche auflösung ich habe auch bei meiner Verlobten den Skript getest 1A aber wenn ich es am Notebook es ausführe dann Funkioniert der skript nicht.

    Ich werde das gefühl nicht los das es sich um Probleme zwischen notebook und Pc handelt das Skript von McPoldy würde auf einen Notebook geschrieben das den Bei mir nicht Klappt darauf habe ich die posison angepasst geht dann 1A auf Stand Rechner sobald ich es am Notebook ausführe das Skript schluck fehl.


    Eine Frage an dich : Arbeitest du an einen Notebook wenn ja dann liegt da ihrgendwo das Problem . da das Skript von McPoldy fehlschläg(Notebook) mein Skript Bei 2 Stand Rechner geht. und beim bekannten auf ein Notebook fehl Schlägt.


    Gruß Baron !