Toolbar Desktop v0.80 build 2023-08-19 beta

  • Seit Windows11 gibt es keine Möglichkeit mehr, den Desktop in der Taskleiste als Shortcut zu integrieren. Daher dieses Tool, um schnell die Desktop Icons zu starten.

    Die App läuft am besten kompiliert.

    AutoIt: Toolbar Desktop.au3
    Der Source Code überschreitet die 40.000 Zeichengrenze. ¯\_(ツ)_/¯
    -=> https://www.autoitscript.com/forum/topic/210707-toolbar-desktop-v080-build-2023-08-19-beta

    Da ich nur Windows11 benutze, weiß ich nicht, wie die App auf anderen System läuft. Ich wäre euch dankbar, wenn ihr die App testen und Feedback geben könntet. :)

  • Hmm, ok das habe ich nie genutzt und in W11 nutze ich stattdessen das Starmenü mit den pinned icons (was Funktional natürlich dann ~dem auf dem Desktop entspricht). Nur den unteren Teil mit den Empfehlungen würde ich noch gerne ganz los werden ;)

    Aber für die, die das bisher genutzt haben sicherlich gut.

  • Funktioniert mit WIN10 (v10.0.19045).

    Verbesserungsvorschläge:

    Technisch:

    - Wird immer auf dem Hauptbildschirm eingeblendet. Evtl. anpassen, wenn die Maus auf nem anderen Bildschirm ist.

    - Du ließt die Dateien von @DesktopDir und @DesktopCommonDir. Hat mich etwas verwirrt, weil plötzlich nen haufen Shortcuts von Programmen aufgetaucht sind, die unter Public->Desktop zu finden sind, die ich aber auf meinem schon ewig gelöscht hatte. Keine Ahnung, ob das gewollt ist.

    Optisch:

    - Schrift-/Icongröße könnte man noch an die DPI anpassen. Hab grad in den Quellcode geschaut: Es wird der falsche Monitor gelesen. Es macht ggf. Sinn, mit _WinAPI_GetMonitorInfo den Primären Bildschirm herauszufinden, oder mit _WinAPI_MonitorFromPoint den aktuellen (Mauspositions) Bildschirm wenn du das Fenster auf mehreren Bildschirmen anzeigen lassen willst.

    - Es gibt nen schmalen Spalt zwischen der Taskleiste und dem Fenster (ca. 5px). Keine Ahnung, ob das gewollt ist, oder ob mit WIN11 die Höhe verändert wurde, oder ob es daran liegt, dass sich meine Taskleiste automatisch ausblendet.

  • Nur den unteren Teil mit den Empfehlungen würde ich noch gerne ganz los werden

    Danke für dein Feedback, aber was meinst du damit?

    Danke auch für dein Feedback.

    Manchmal werden Icons unter @DesktopCommonDir gespeichert, was ich auch benötige, deshalb beide Pfade. Ich bin gerade dabei auf Multi-Monitor Systemen das Fenster an die entsprechende Stelle zu bekommen.

    Der Spalt ist Absicht, da sonst das Fenster direkt auf der Taskleiste aufliegt.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Das war auf das Startmenü in W11 gemünzt (was ich davor erwähnt hatte; siehe Bild) nicht auf dein Tool. Sorry für die Verwirrung.

    BTW: Das Pinnen an die Startleiste hat den Vorteil, das man ins Rechtsklick menü direkt Dateien hinterlegen kann (spart eine Menge icons auf dem Desktop^^):

  • Kanashius ich habe eine neue Version hochgeladen. Kannst du bitte nochmals testen, ob das Fenster jetzt auf allen Monitoren angezeigt wird?

    Danke.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Kanashius ich habe eine neue Version hochgeladen. Kannst du bitte nochmals testen, ob das Fenster jetzt auf allen Monitoren angezeigt wird?

    Ne, funktioniert so nicht. Beim rechten+linken Bildschirm wird es garnicht angezeigt (vmtl. außerhalb des Bereichs), beim oberen wird es am unteren (primär Bildschirm) angezeigt.

    Ich geb dir mal meine Bildschirm Infos, vllt. hilft dir das weiter:

  • Kanashius du hast recht, ich habe vergessen, dass die Monitore auch übereinander sein können. Im Büro sind sie nebeneinander. Werde nächste Woche im Büro weiter machen.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Hallo!

    Ganz nett. Braucht man aber nicht. Geht auch einfacher.

    1. Auf dem Desktop mit einem Rechsklick auf eine freie Stelle => Neu => Verknüpfung

    2. Als Verknüpfung explorer shell:::{3080F90D-D7AD-11D9-BD98-0000947B0257}angeben

    3. Auf Weiter klicken

    4. Als Name Desktop angeben

    5. Mit Ok abschließen

    6. Rechtsklick auf die neue Verknüpfung => Anders Symbol. Dort das Desktop-Icon auswählen. Mit OK => Ok abschließen

    7. Neue Verknüpfung kann man nun in die Taskleiste legen

    Im Übrigen gibt es dafür auch eine Schaltfläche ganz rechts in der Taskleiste.

    Gruß, René

    Einmal editiert, zuletzt von mumpel (14. Juli 2023 um 21:44)

  • mumpel das Einfacher ist n. m. M. nicht einfacher, sondern umständlicher, aber du benötigst dafür kein Shortcut, sondern musst nur WIN+D drücken. ;) Abgesehen davon, ist das nicht, was ich will.

    Kanashius ich habe eine neue Version ohne Testen, auf gut Glück, hochgeladen. Kannst du nochmals testen? Falls das nicht funktionieren sollte, dann mache ich am Montag im Büro weiter...

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • "Error getting icon pos in taskbar" taucht jetzt jedesmal auf und das Fenster ist am linken Rand.

    Der obere und untere Bildschirm funktionieren ansonsten.

    Beim linken und rechten läuft noch was schief. Beim linken ist das Fenster nicht sichtbar, beim rechten landet das Fenster auf dem linken Bildschirm. Ich vermute das Problem liegt in den negativen Positionswerten.

    Ich hab gesehen, dass du MouseGetPos nutzt und hab mal die Koordinaten nachgeschaut.... Ich bin sehr verwirrt, was Windows da fabriziert... Ich hab mal ein Bild erstellt mit den Mauskoordinaten an jeder Bildschirmecke:

    Screen 1+2 sind beides 27" 4k (3840x2160) Bildschirme und werden auch mit der Auflösung dargestellt.

    Screen 3+4 sind beides 24" FHD (1920x1080) Bildschirme und werden auch mit der Auflösung dargestellt.

    Das macht auf den ersten Blick alles überhauptkeinen Sinn. Hängt aber mit der DPI zusammen.

    Mir ist grad beim schreiben hier eingefallen, dass ich das Problem schonmal hatte und die Lösung war, dem Process DPI-Awareness zu geben:

    AutoIt
    Global Const $PROCESS_DPI_UNAWARE = 0
    Global Const $PROCESS_SYSTEM_DPI_AWARE = 1
    Global Const $PROCESS_PER_MONITOR_DPI_AWARE = 2
    _WinAPI_SetProcessDpiAwareness($PROCESS_PER_MONITOR_DPI_AWARE)
    
    Func _WinAPI_SetProcessDpiAwareness($DPIAware)
      DllCall("Shcore.dll", "long", "SetProcessDpiAwareness", "int", $DPIAware)
      If @error Then Return SetError(1, 0, 0)
    EndFunc

    Dann sind die Koordinaten von -1920 bis 5760 in der Breite richtig und auch die Höhe passt mit -2160 bis 2160 über alle Bildschirme.

    Das Problem mit dem rechten/linken Bildschirm bleibt aber leider trotzdem, nur dass beim linken Bildschirm mit der DPI-Awareness das Fenster auf dem mittleren Screen angezeigt wird.

    Ich hab auch mal die Zahlen für jeden Klick von Bildschirm 1 bis 4 ausgegeben, vllt. hilft dir das weiter (ConsoleWrite(MouseGetPos(1)&":"&MouseGetPos(2)&" >> "&$px&":"&($iMonitorY + MouseGetPos(1) - $aPos[3] - $iWinTitleSize * $aDPI[1])&" >> "&$aPos[2]&":"&$aPos[3]&@CRLF)) :

    Code
    Added 128 items to the list
    Error getting icon pos in taskbar
    2151:1 >> 0:1122.75 >> 1920:960
    Error getting icon pos in taskbar
    -29:1 >> 0:-1057.25 >> 1920:960
    Error getting icon pos in taskbar
    2140:1 >> -1920:1111.75 >> 1920:960
    Error getting icon pos in taskbar
    2133:1 >> 0:1104.75 >> 1920:960

    Ohne DPI-Awareness kommt übrigens folgendes dabei raus:

    Code
    Added 128 items to the list
    Error getting icon pos in taskbar
    1226:1 >> 0:656 >> 1097:548
    Error getting icon pos in taskbar
    -933:1 >> 0:-1503 >> 1097:548
    Error getting icon pos in taskbar
    2143:1 >> -1097:1573 >> 1097:548
    Error getting icon pos in taskbar
    2141:1 >> 0:1571 >> 1097:548

    Wobei 0:1571 zeigt, warum es beim linken Bildschirm ohne DPI-Awareness nicht sichtbar ist... 1571>1234 => Es landet unter dem primär Bildschirm (Screen 1).


    Ich würde sagen, ich decke mit meinen Bildschirmen die meisten Edgecases ab :rofl:

  • Abgesehen davon, ist das nicht, was ich will.

    Meinst Du den Ordner "Desktop"? Also C:\Windows\explorer.exe shell:Desktop? Sieht zumindest so aus, wenn auch "in groß" und nicht links unten angedockt.

  • mumpel: Im Prinzip ist das so, aber Ordner können nicht an die Taskleiste angeheftet werden (und somit die gewünschte Funktionalität herzustellen). Nur der Explorer selber, dem dann div. Ordner angeheftet werden können (entspricht nicht der gewünschten Funktionalität). (Das ist auch bei mir bisher bekannten Workarounds zum Anheften von Ordnern so.)

    Einmal editiert, zuletzt von Moombas (17. Juli 2023 um 09:20)

  • UEZ 17. Juli 2023 um 10:01

    Hat den Titel des Themas von „Toolbar Desktop v0.50 build 2023-07-14 beta“ zu „Toolbar Desktop v0.50 build 2023-07-17beta“ geändert.
  • Kanashius ich habe die Tests mit meinen 3 Monitoren durchgeführt und es hat funktioniert. Kannst du bitte nochmals mit deinen Monitoren testen?

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • UEZ 17. Juli 2023 um 10:06

    Hat den Titel des Themas von „Toolbar Desktop v0.50 build 2023-07-17beta“ zu „Toolbar Desktop v0.50 build 2023-07-17 beta“ geändert.
  • Hi, die X-Position funktioniert, bei der Y-Position funktionieren alle bis auf den oberen Bildschirm. Da erscheint das Fenster dann ~mittig auf dem unteren Bildschirm.

    Ich vermute das hängt damit zusammen, dass die Position dort negativ wäre?

    Wenn das Toolbaricon nicht gefunden wird funktioniert es aber noch nicht (vermute, dass hast du noch nicht angepasst; $iMonitorY+X werden garnicht verwendet). Hatte erst den Sourcecode ausgeführt und nicht die EXE, da ist er immer in den oberen Case gegangen, weil die Description natürlich nicht stimmt^^

  • Hi, die X-Position funktioniert, bei der Y-Position funktionieren alle bis auf den oberen Bildschirm. Da erscheint das Fenster dann ~mittig auf dem unteren Bildschirm.

    Ich vermute das hängt damit zusammen, dass die Position dort negativ wäre?

    Wenn das Toolbaricon nicht gefunden wird funktioniert es aber noch nicht (vermute, dass hast du noch nicht angepasst; $iMonitorY+X werden garnicht verwendet). Hatte erst den Sourcecode ausgeführt und nicht die EXE, da ist er immer in den oberen Case gegangen, weil die Description natürlich nicht stimmt^^

    Da ich nur 3 Bildschirme habe, habe ich alle möglichen Positionen getestet und alle hatten funktioniert, wie z.B. links - mitte - oben

    Genau, wenn _WinAPI_FindMyIconPosInTaskbar keine Koordinaten zurück gibt, dann funktioniert das manuelle Positionieren über den Mauszeiger noch nicht.

    Danke fürs Testen.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯