Windows 7 Taskleiste als Sidebar, minimale Breite behoben


20

Das mag nach einer trivialen und unnötigen Frage klingen, nervt mich aber immer mehr. Wenn Sie in Windows 7 "kleine Symbole" für die Taskleiste auswählen und sich die Taskleiste entweder oben oder unten auf dem Bildschirm befindet, wird die Taskleiste ziemlich klein.

Screenshot einer horizontalen Taskleiste

Aber da ich einen Breitbildmonitor habe, bin ich es gewohnt, die Taskleiste an der Seite des Bildschirms zu haben, da sie den Platz effizienter nutzt. Aber ich kann die Taskleiste nicht enger als eine bestimmte Stufe machen und sie bleibt ziemlich breit.

Screenshot einer vertikalen Taskleiste

Gibt es vielleicht einen Registrierungseintrag, den ich so einstellen könnte, dass er an der Seite des Bildschirms dieselbe Breite hat wie die Höhe, die ich unten oder oben bekomme?

(PS: Der MinWidth-Trick hilft hier nicht.)


2
Nur eine Anmerkung, wenn Sie die Taskleiste sperren, werden diese Griffe nicht angezeigt, wodurch die Fensterschaltflächen viel näher an die Kugel rücken.
nhinkle

Antworten:


12

Eine perfekte Arbeitslösung wäre:

  • Erstellen Sie eine ThinTaskbar.bat-Datei
  • Geben Sie den folgenden Inhalt ein:

@echo off
echo ThinTaskbar
echo Please wait a few secconds...
net stop "UxSms"
net start "UxSms"

  • speichern und schließen
  • Aktivieren Sie die folgenden Taskleistenoptionen: Sperren und Ausblenden
  • Führen Sie ein Batch-Skript mit Administratorrechten aus
  • getan!

Jetzt können Sie das automatische Ausblenden deaktivieren, wenn Sie möchten. Das Skript muss nach jedem Neustart angewendet werden.

Quelle: Youtube


Hurra für eine funktionierende Antwort!
Barfieldmv

Ich habe gerade Ihre Antwort gefunden und sie war sehr hilfreich. Wenn Sie diese BAT-Datei zu Ihrem Verzeichnis% AppData% \ Microsoft \ Windows \ Startmenü \ Programme \ Startup \ hinzufügen, sollte sie nach dem Lesen an anderer Stelle beim Start ausgeführt werden, anstatt sie manuell ausführen zu müssen.
WebDevNewbie

Das funktioniert bei mir nicht. Es macht anscheinend nichts, aber cmd sagt, es stoppt und startet erfolgreich. Auch aus dem Service-Panel. Irgendeine Idee?
Carles Alcolea

3

Eigentlich habe ich ein Duplikat zu dieser Frage gestellt, und es ist immer noch nicht Vertical Taskleiste auf Windows Server 2008 zu breit gelöst

Aber ich kann Sie auf diesen Link verweisen:

http://answers.microsoft.com/de-de/windows/forum/windows_7-desktop/when-vertical-cannot-make-taskbar-as-thin-as/9ecf0b1c-e66d-497c-8c2b-5ef3965e2b59

Grundsätzlich heißt es, dass die kleinen Symbole praktisch breiter sind als sie erscheinen (aber nicht höher) und dass dies beabsichtigt ist. Sie können die Breite der Taskleiste unterhalb der virtuellen Breite der Symbole nicht ändern.

Der Grund dafür, dass in horizontaler Richtung eine geringere Höhe zulässig ist, liegt darin, dass jedes Symbol immer noch eine große Breite hat, sodass es mit einer Fingerspitze leicht zielbar bleibt.

Vielleicht kann jemand dies verwenden, um eine Lösung zu erstellen:)


3

Ich habe eine Lösung, die ich gerade verwende. Ich habe Stunden damit verbracht, dies zu programmieren und bin sehr zufrieden, dass es perfekt für mich funktioniert. Mach weiter und benutze es, wenn du willst, schreib es mir gut (drange17), wenn du diesen Code online in Foren posten willst. Ich möchte Lexikos wiederum den Code für ConsoleSend gutschreiben.

Zunächst habe ich eine Verknüpfung zur Eingabeaufforderung mit dem Namen "cmd.lnk" in C: \ Programme erstellt. Ich gehe zu den Eigenschaften dieser Verknüpfung >> Registerkarte Verknüpfung >> Erweitert >> Als Administrator ausführen aktivieren.

Zweitens habe ich AutoHotkey heruntergeladen und beim Start ausgeführt (platzieren Sie eine Verknüpfung zu AutoHotkey im Startmenü-Startordner). Der folgende Code ist definitiv nicht sehr elegant die Aufgabe, die vertikale Taskleiste für mich einzugrenzen):

Sleep, 15000
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
    WinActivate
    Sleep, 500
    SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
    SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
    SendInput {Tab}{Space}{Enter}
WinWaitClose
    Run C:\Program Files\cmd.lnk
WinWait, Administrator: cmd ahk_class ConsoleWindowClass
winwaitactive Administrator: cmd ahk_class ConsoleWindowClass
ConsoleSend("net stop uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("net start uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("exit", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
WinWaitClose
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
    WinActivate
Sleep, 500
SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
SendInput {Tab}{Space}{Enter}
Run outlook.exe
ConsoleSend(text, WinTitle="", WinText="", ExcludeTitle="", ExcludeText="")
{
    WinGet, pid, PID, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    if !pid
        return false, ErrorLevel:="window"
    if !DllCall("AttachConsole", "uint", pid)
        return false, ErrorLevel:="AttachConsole"
    hConIn := DllCall("CreateFile", "str", "CONIN$", "uint", 0xC0000000
                , "uint", 0x3, "uint", 0, "uint", 0x3, "uint", 0, "uint", 0)
    if hConIn = -1
        return false, ErrorLevel:="CreateFile"
    VarSetCapacity(ir, 24, 0)       ; ir := new INPUT_RECORD
    NumPut(1, ir, 0, "UShort")      ; ir.EventType := KEY_EVENT
    NumPut(1, ir, 8, "UShort")      ; ir.KeyEvent.wRepeatCount := 1
    Loop, Parse, text ; for each character in text
    {
        NumPut(Asc(A_LoopField), ir, 14, "UShort")
        NumPut(true, ir, 4, "Int")  ; ir.KeyEvent.bKeyDown := true
        gosub ConsoleSendWrite
        NumPut(false, ir, 4, "Int") ; ir.KeyEvent.bKeyDown := false
        gosub ConsoleSendWrite
        Sleep, 10
    }
    gosub ConsoleSendCleanup
    return true
    ConsoleSendWrite:
        if ! DllCall("WriteConsoleInput", "uint", hconin, "uint", &ir, "uint", 1, "uint*", 0)
        {
            gosub ConsoleSendCleanup
            return false, ErrorLevel:="WriteConsoleInput"
        }
    return
    ConsoleSendCleanup:
        if (hConIn!="" && hConIn!=-1)
            DllCall("CloseHandle", "uint", hConIn)
        DllCall("FreeConsole")
    return
}

Hier ist die resultierende dünne vertikale Taskleiste:

Bildbeschreibung hier eingeben


1
Sieht sehr vielversprechend aus, aber können Sie einige Kommentare hinzufügen und beschreiben, was Sie tun?
scigor

Bin nicht für mich gelaufen. warum hast du am ende aussicht? Ist das ein Teil der Lösung oder wollten Sie nur eine App ausführen, die ein neues Fenster öffnet? Ich könnte automatisch Tastenkürzel an die Taskleiste senden, dann öffnete es eine cmd.exe, aber es wurde nichts eingegeben, obwohl es den Anschein hat, als würde dieses Skript versuchen, dies zu tun. Ich habe die Maus und die Tastatur für eine Minute in Ruhe gelassen, damit sie fertig sind. Nada. Irgendwelche Hinweise?
tgkprog

2

Einige Leute sagen, dass dieses Verhalten beabsichtigt ist, um die Mindeststärke für die Touch-Funktionalität zu begrenzen: Es wird verhindert, dass die Taskleiste zu klein wird, um mit einer Fingerspitze verwendet zu werden. Auf der Seite des Bildschirms wird diese minimale Größe beibehalten.

Wenn Sie einen Laptop besitzen, habe ich diese vorübergehende Lösung gefunden:

Beim Einschalten wird die Taskleiste in der Standardgröße "Breit" vertikal links auf dem Bildschirm angezeigt. Um die Breite der Taskleiste zu verringern, trenne ich einfach den Laptop von der Stromquelle. Die Größe der Taskleiste wird sofort geändert (funktioniert nicht, wenn die Taskleiste nicht auf "Automatisch ausblenden" eingestellt ist). Die neue Taskleistengröße bleibt während des Betriebs von Windows 7 dauerhaft erhalten. Ich kann an dieser Stelle sogar die Einstellung "Automatisch ausblenden" deaktivieren und die Taskleiste behält weiterhin die schmale Größe bei. Natürlich schließe ich das Netzteil wieder an den Laptop an, damit der Akku geladen bleibt. Nachdem ich meinen Laptop heruntergefahren und später wieder eingeschaltet habe, kann ich die vertikale Taskleiste auf dieselbe Weise wieder vergrößern. Ich habe dies nicht auf einem anderen Laptop / PC ausprobiert.

BEARBEITEN

Ich hätte vielleicht eine Richtung gefunden, der du folgen könntest.

Als ich das Windows-Design auf "Klassisch" stellte, stellte ich fest, dass die Breite der Schaltfläche "Start" reduziert wurde und dass die Breite der Taskleiste dann auf die der Schaltfläche "Start" reduziert werden kann. Möglicherweise müssen Sie auch die Uhr und das Datum ausschalten.

Dies hat mich zu der Annahme veranlasst, dass das Breitenproblem dadurch verursacht wird, dass der Startknopf selbst zu breit ist. Hier sind einige Links zum Anpassen der Schaltfläche "Start":

So ändern Sie den Text der Startschaltfläche in Windows 7
So ändern Sie die Startmenüschaltfläche in Windows 7

Diese Lösung funktioniert möglicherweise oder möglicherweise nicht und funktioniert möglicherweise oder möglicherweise nicht mit Aero oder nur im klassischen Modus.
Auf jeden Fall: Viel Spaß beim Hacken!


Ja, das habe ich auch gehört, und wie Sie aus den Kommentaren zu sagars "reply" lesen können, können Sie die Größe temporär ändern, aber wenn Sie es temporär tun können, muss es einen Hack geben, um es dauerhaft zu tun. Das ist, wonach ich suche;) das Kopfgeld ist nicht umsonst.
scigor

Hallo, habe es gerade ausprobiert und es hat nicht funktioniert. Aber ich denke, Sie gehen in die richtige Richtung. Ich habe es auf eine kleinere Schaltfläche geändert, aber die Sache ist, dass, wenn Sie zum Beispiel explorer.exe töten, Sie immer noch den unbrauchbaren Ort sehen. Wenn Sie beispielsweise versuchen, den Bildschirmrand zu verwenden, stellen Sie fest, dass sich die Datei explorer.exe nach dem Beenden immer noch an der Stelle befindet, an der sie sich zuvor befand, und nicht an der Bildschirmgrenze. Daher muss offensichtlich eine andere Konfiguration / Datei / Registrierung geändert werden.
scigor

@ inf.ig.sh: Ich habe ein Produkt gefunden, das die gesamte Start-Schaltfläche durch eine kleine Bitmap ersetzt hat, aber nicht funktioniert. Ich glaube also, dass die Breite in die Taskleiste eingebaut ist. Ich weiß, dass die MS-Entwickler die Taskleiste bis zur letzten Minute weiterentwickelt haben und dass viele Konstanten dafür in die Taskleistensoftware selbst eingebaut wurden und nicht als Registrierungsparameter. Ich glaube, dass die wenigen Pixel, die im Classic-Modus gespeichert werden können, im Moment das maximal mögliche sind (yick). Ansonsten scheinen nur temporäre Lösungen möglich zu sein, zumindest bis Windows 8 dazukommt.
Harrymc

Nun, die Zeit wird knapp. Da Sie also die meiste Mühe in diese Frage gesteckt haben, werden Sie das Kopfgeld erhalten und die Frage offen halten, falls es in Zukunft noch eine Lösung gibt
scigor 06.09.10

2

Ich bin ein großer Fan von Autohotkey, es hat eine Weile gedauert, bis ich den einfachsten Weg gefunden habe, dies zu lösen. Ich habe zuerst versucht, die Einstellungen der Registrierung direkt zu ändern, aber für diese ist ein Neustart von explorer.exe erforderlich, der mir nicht gefallen hat. Nach vielen fehlgeschlagenen Versuchen bin ich schließlich zu diesem Ergebnis gekommen. Wenn eine Verbesserung notwendig ist, aktualisiere ich den Code im Pastebin.

Autohotkey GinThinSideTaskbar Ich habe einen Autohotkey-Code erstellt, mit dem die Windows 7-Seiten-Taskleiste mit kleinen Symbolen versehen wird. 1 Symbol dünn:

^+t::  
        ; GinThinSideTaskbar
        ; by giny8i8
        ; v1p01 at 2014-06-21
        ; If you use the Windows 7 Taskbar on the side of your screen, with smal icons, this makes it look 1 icon thin instead of the default double size.
        ; Assumptions: The taskbar is not hidden when you run this code (UxSms restart thinners the taskbar only if the taskbar is hidden)

        TaskbarToggler() ;Hide Taskbar
        Sleep 1000      ;Wait a little
        RunWait,sc stop "UxSms" ;Stop "Desktop Window Manager Session Manager Service" service.
        RunWait,sc start "UxSms" ;Start "Desktop Window Manager Session Manager Service" service.
        Sleep 1000      ;Wait a little
        TaskbarToggler() ;Show Taskbar again

        TaskbarToggler()
        {
                Run % "RunDll32.exe shell32.dll,Options_RunDLL 1" ;Open "Taskbar and Start Menu Properties" window
                WinWait, Taskbar and Start Menu Properties ;Wait for the window to open
                SendInput {Tab}{Space}{Enter} ;Togle Taskbar hiding
        }
        return

Ich habe dies auch auf http://pastebin.com/4upmWETQ gestellt

Fühlen Sie sich frei zu verwenden und zu verbreiten, und geben Sie bitte Feedback! giny8i8


1

Möglicherweise gibt es eine Möglichkeit, dies mithilfe eines anderen Windows-Stils zu lösen. Sie können Tools wie tune up verwenden, um andere Stile herunterzuladen und zu installieren. Es gibt auch Tools, mit denen Sie Ihren eigenen Stil entwerfen können. Vielleicht gibt es eine Möglichkeit, einen Stil ohne dieses Problem zu erstellen.


no windows styles helfen hier nicht weiter
scigor

1

Ich weiß, dass dies eine alte Frage ist, aber Sie können ein Tool namens 7+ Taskbar Tweaker verwenden , um dies zu erreichen.

Wenn Sie nach der Installation und Ausführung mit der rechten Maustaste auf das Taskleistensymbol klicken und "Erweiterte Optionen" öffnen, wird die Option "no_width_limit" angezeigt. Aktivieren Sie diese Option und übernehmen Sie die neue Konfiguration.

Wenn Sie bei aktivierter Option die Taskleiste entsperren, sollten Sie nun in der Lage sein, die Breite der Taskleiste im Verhältnis zur Größe der Symbole mit der Maus zu verringern.

Fühlen Sie sich frei, die Taskleiste danach zu sperren. Ich halte dies für die umfassendste verfügbare Lösung.

Bildschirmfoto

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.