Barre des tâches de Windows 7 en tant que barre latérale, largeur minimale fixée


20

Cela peut sembler être une question triviale et inutile, mais cela m'ennuie de plus en plus. Si vous choisissez de "petites icônes" pour la barre des tâches dans Windows 7 et que la barre des tâches est soit en haut ou en bas de l'écran, la barre des tâches deviendra assez petite.

Capture d'écran d'une barre de tâches horizontale

Mais comme j'ai un moniteur à écran large, j'ai l'habitude d'avoir la barre des tâches sur le côté de l'écran, car elle utilise l'espace plus efficacement. Mais je ne peux pas réduire la barre des tâches à un certain niveau et elle reste assez large.

Capture d'écran d'une barre des tâches verticale

Y a-t-il peut-être une entrée de registre que je pourrais définir pour obtenir la même largeur sur le côté de l'écran que la hauteur que j'obtiens en bas ou en haut?

(PS: L'astuce MinWidth n'aide pas ici.)


2
Juste une note, si vous verrouillez la barre des tâches, elle ne montrera pas ces poignées, ce qui rapproche beaucoup les boutons de la fenêtre de l'orbe.
nhinkle

Réponses:


12

Une solution de travail parfaite serait:

  • créer un fichier ThinTaskbar.bat
  • entrez le contenu suivant:

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

  • sauver et fermer
  • activer les options de la barre des tâches suivantes: verrouiller et masquer automatiquement
  • exécuter un script batch avec des privilèges d'administrateur
  • terminé!

Vous pouvez maintenant désactiver le masquage automatique, si vous le souhaitez. Le script doit être appliqué après chaque redémarrage.

Source: Youtube


Vive la réponse!
Barfieldmv

Je viens de trouver votre réponse, et elle a été très utile. En lisant ailleurs, si vous ajoutez ce fichier .bat à votre répertoire% AppData% \ Microsoft \ Windows \ Start Menu \ Programs \ Startup \, il devrait exécuter le .bat au démarrage plutôt que de le faire manuellement.
WebDevNewbie

Ça ne marche pas pour moi. Apparemment, cela ne fait rien, mais cmd dit qu'il s'arrête et démarre avec succès. Même à partir du panneau Services. Une idée?
Carles Alcolea

3

En fait, j'ai posé un doublon à cette question, et ce n'est toujours pas résolu Barre des tâches verticale sur Windows Server 2008 trop large

Mais je peux vous indiquer ce lien:

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

Fondamentalement, il dit que les petites icônes sont pratiquement plus larges qu'elles ne le paraissent (mais pas plus hautes) et que c'est par conception. Vous ne pouvez pas modifier la largeur de la barre des tâches sous la largeur virtuelle des icônes.

La raison pour laquelle il permet une plus petite hauteur lorsque l'horizontale est parce que chaque icône a toujours une grande largeur, de sorte qu'elle reste facilement ciblable avec le bout des doigts.

Peut-être que quelqu'un peut l'utiliser pour créer une solution :)


3

J'ai une solution que j'utilise en ce moment. J'ai passé des heures à coder cela et je suis très satisfait que cela fonctionne parfaitement pour moi. Allez-y et utilisez-le si vous voulez, créditez-moi (drange17) si vous voulez publier ce code en ligne dans les forums. Je voudrais à mon tour créditer Lexikos pour le code de ConsoleSend.

Tout d'abord, j'ai placé un raccourci vers l'invite de commande appelé "cmd.lnk" dans C: \ Program Files. Je vais dans les propriétés de ce raccourci >> onglet de raccourci >> avancé >> activer l'exécution en tant qu'administrateur.

Deuxièmement, j'ai téléchargé AutoHotkey et je l'ai exécuté au démarrage (placez un raccourci vers AutoHotkey dans le dossier de démarrage du menu Démarrer), avec le code suivant (qui n'est certainement pas très élégant, je suis sûr que quelqu'un peut faire mieux, mais il le fait le travail de rétrécissement de la barre des tâches verticale pour moi):

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
}

Voici la fine barre des tâches verticale résultante:

entrez la description de l'image ici


1
Cela semble très prometteur, mais pouvez-vous ajouter quelques commentaires et décrire ce que vous faites?
scigor

N'a pas couru pour moi. Pourquoi dirigez-vous finalement Outlook? cela fait-il partie de la solution ou vous vouliez simplement exécuter une application qui crée une nouvelle fenêtre? Je pouvais envoyer automatiquement des touches de raccourci à la barre des tâches, puis il a ouvert un cmd.exe mais rien n'y a été tapé, bien qu'il semble que ce script essaie de le faire. J'ai laissé la souris et le clavier seuls pendant une minute pour laisser finir. Nada. Des pointeurs?
tgkprog

2

Certaines personnes disent que ce comportement est voulu par la conception afin de limiter l'épaisseur minimale de la fonctionnalité tactile: la barre des tâches ne peut pas devenir trop petite pour être utilisée du bout des doigts, donc sur le côté de l'écran, elle conservera cette taille minimale.

Si vous possédez un ordinateur portable, j'ai trouvé cette solution temporaire:

À la mise sous tension, la barre des tâches apparaît sur sa taille par défaut «large» verticalement à gauche de l'écran. Pour réduire la largeur de la barre des tâches, je débranche simplement la source d'alimentation en courant alternatif de l'ordinateur portable. Immédiatement, la barre des tâches est redimensionnée (ne fonctionne pas si la barre des tâches n'est pas définie sur «masquer automatiquement»). La nouvelle taille de la barre des tâches est maintenue «en permanence» pendant le fonctionnement de Windows 7. Je peux même désactiver le paramètre «masquage automatique» à ce stade et la barre des tâches conserve toujours la taille étroite. Bien sûr, je branche le courant alternatif à l'ordinateur portable pour garder la batterie chargée. Après avoir éteint mon ordinateur portable et l'avoir rallumé pour l'utiliser, je fais juste la même astuce d'alimentation secteur pour redimensionner à nouveau la barre des tâches verticale. Je n'ai pas essayé cela sur un autre ordinateur portable / PC, donc je ne le fais pas

MODIFIER

J'aurais peut-être trouvé une direction que vous pourriez suivre.

Tout d'abord, lors de la définition du thème Windows sur Classique, j'ai remarqué que le bouton Démarrer a été réduit en largeur, et qu'il permet ensuite de réduire la largeur de la barre des tâches à celle du bouton Démarrer. Vous devrez peut-être également désactiver l'horloge et la date.

Cela m'a fait penser que le problème de largeur est dû au fait que le bouton Démarrer lui-même est trop large. Voici donc quelques liens pour personnaliser le bouton Démarrer:

Comment changer le texte du bouton Démarrer dans Windows 7
Comment changer le bouton du menu Démarrer dans Windows 7

Cette solution peut ou non fonctionner, et elle peut ou non fonctionner avec Aero, ou uniquement en mode classique.
Dans tous les cas: bon piratage!


ouais j'ai entendu ça aussi, et comme vous pouvez le lire dans les commentaires des sagars "répondre", vous pouvez changer la taille temporellement, mais si vous pouvez le faire temporellement, il doit y avoir un hack pour le faire de façon permanente. C'est ce que je recherche;) la prime n'est pas pour rien.
scigor

Salut je viens de l'essayer, et cela n'a pas fonctionné. Mais je pense que vous vous dirigez dans la bonne direction. Je l'ai changé en un bouton plus petit, mais le fait est que lorsque vous tuez par exemple explorer.exe, vous voyez toujours l'endroit inutilisable. Par exemple, lorsque vous essayez d'utiliser le bord de l'écran, vous découvrez qu'après avoir tué explorer.exe, il se trouve toujours au même endroit où il était avant et non à la limite de l'écran. Il est donc évident que d'autres configurations / fichiers / registres doivent être modifiés.
scigor

@ inf.ig.sh: J'ai trouvé un produit qui a remplacé le bouton Démarrer entier par un petit bitmap, mais non. Je pense donc que la largeur est intégrée à la barre des tâches. Je sais pertinemment que les développeurs MS ont continué à développer la barre des tâches jusqu'à la dernière minute possible, et que de nombreuses constantes ont été intégrées dans le logiciel de la barre des tâches lui-même plutôt que comme paramètres de registre. Je crois que les quelques pixels qui peuvent être enregistrés en mode classique sont les maximaux possibles pour le moment (yick). Sinon, seules des solutions temporaires semblent possibles, du moins jusqu'à ce que Windows 8 arrive.
harrymc

le temps est compté sur la prime, donc puisque vous avez investi le plus d'effort dans cette question, vous obtiendrez la prime, garderez la question ouverte au cas où il y aurait encore une solution à l'avenir
scigor

2

Je suis un grand fan de Autohotkey, il m'a fallu un certain temps pour trouver le moyen le plus simple de résoudre ce problème. J'ai d'abord essayé les modifications directes des paramètres de registre, mais celles-ci nécessitent des redémarrages explorer.exe, ce que je n'ai pas aimé, donc finalement après de nombreuses tentatives infructueuses, je me suis retrouvé avec cela. S'il y a une amélioration, je mettrai à jour le code dans pastebin.

Autohotkey GinThinSideTaskbar J'ai créé un code autohotkey qui rend votre barre de tâches latérale Windows 7 avec de petites icônes 1 icône mince:

^+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

J'ai également mis cela sur http://pastebin.com/4upmWETQ

N'hésitez pas à utiliser et à distribuer, et veuillez poster vos commentaires! giny8i8


1

Il pourrait y avoir un moyen de résoudre ce problème en utilisant un autre style de fenêtres. Vous pouvez utiliser des outils comme tune up pour télécharger et installer d'autres styles, il existe également des outils pour concevoir votre propre style. Il existe peut-être une possibilité de créer un style sans ce problème.


aucun style de fenêtres n'aide pas ici
scigor

1

Je sais que c'est une vieille question, mais vous pouvez utiliser un outil appelé 7+ Taskbar Tweaker pour y parvenir.

Une fois installé et en cours d'exécution, si vous cliquez avec le bouton droit sur l'icône de la barre d'état et ouvrez "Options avancées", il y a une option appelée "no_width_limit". Activez cette option et appliquez la nouvelle configuration.

Lorsque cette option est activée, si vous déverrouillez la barre des tâches, vous devriez maintenant pouvoir réduire la largeur de la barre des tâches par rapport à la taille des icônes à l'aide de la souris.

N'hésitez pas à verrouiller la barre des tâches par la suite. Je pense que c'est la solution la plus complète disponible.

Capture d'écran

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.