21 votes

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

Cette question peut sembler banale et inutile, mais elle m'agace de plus en plus. Si vous choisissez "petites icônes" pour la barre des tâches dans Windows 7 et que la barre des tâches se trouve en haut ou en bas de l'écran, la barre des tâches devient très petite.

Screenshot of a horizontal taskbar

Mais comme j'ai un é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 de manière plus efficace. Mais je n'arrive pas à réduire la barre des tâches au-delà d'un certain niveau et elle reste assez large.

Screenshot of a vertical taskbar

Y a-t-il une entrée dans le 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 ?

(P.S. : L'astuce MinWidth n'est pas utile ici).

2 votes

Notez que si vous verrouillez la barre des tâches, elle n'affichera pas ces poignées, ce qui rapproche les boutons des fenêtres de l'orbe.

12voto

Impulse Points 136

Une solution parfaite serait de travailler :

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

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

  • sauvegarder et fermer
  • activez les options suivantes de la barre des tâches : verrouillage et masquage automatique.
  • exécuter le lot script avec des privilèges d'administrateur
  • C'est fait !

Vous pouvez maintenant désactiver l'auto-cache, si vous le souhaitez. Le script doit être appliqué après chaque redémarrage.

Fuente: Youtube

0 votes

Hourra pour une réponse qui fonctionne !

0 votes

Je viens de trouver votre réponse, et elle m'a été très utile. D'après ce que j'ai lu ailleurs, si vous ajoutez ce fichier .bat à votre %Data% \Microsoft\Windows\Start Menu \Programs\Startup\ il devrait exécuter le .bat au démarrage plutôt que de devoir le faire manuellement.

0 votes

Ça ne marche pas pour moi. Il ne fait apparemment rien, mais cmd dit qu'il s'arrête et démarre avec succès. Même depuis le panneau Services. Une idée ?

3voto

drange17 Points 31

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

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

Deuxièmement, j'ai téléchargé AutoHotkey et je l'ai mis en route au démarrage (placez un raccourci vers AutoHotkey dans le dossier 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 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 barre des tâches verticale mince qui en résulte :

enter image description here

1 votes

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

0 votes

Il n'a pas fonctionné pour moi. pourquoi lancez-vous outlook à la fin ? est-ce une partie de la solution ou vous vouliez juste lancer une application qui crée une nouvelle fenêtre ? J'ai pu envoyer automatiquement par hotkey quelques touches à la barre des tâches, puis cela a ouvert un cmd.exe mais rien n'a été tapé dedans, 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 pistes ?

3voto

mit Points 1467

En fait, j'ai posé un double de cette question, et elle n'est toujours pas résolue. Barre des tâches verticale trop large sur Windows server 2008

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

En gros, il est dit que les petites icônes sont virtuellement plus larges qu'elles n'apparaissent (mais pas plus hautes) et que c'est à dessein. Vous ne pouvez pas modifier la largeur de la barre des tâches en dessous de la largeur virtuelle des icônes.

La raison pour laquelle la hauteur est plus petite à l'horizontale est que chaque icône a toujours une grande largeur, ce qui permet de la cibler facilement du bout du doigt.

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

2voto

harrymc Points 394411

Certains disent que ce comportement est voulu afin de limiter l'épaisseur minimale pour la fonctionnalité tactile : La barre des tâches est empêchée de devenir trop petite pour être utilisée du bout du doigt, donc sur le côté de l'écran elle gardera cette taille minimale.

Si vous avez un ordinateur portable, j'ai trouvé ce solution temporaire :

Au démarrage, la barre des tâches apparaît sur son taille par défaut "large", verticalement à gauche de l'écran. Pour rendre la barre des tâches plus étroite, je débranche simplement l'alimentation en courant alternatif de l'ordinateur portable. Immédiatement, la barre des tâches est redimensionnée (cela ne fonctionne pas si la barre des tâches n'est pas n'est pas réglée sur 'auto-hide'). La nouvelle barre des tâches est maintenue "en permanence" pendant pendant le fonctionnement de Windows 7. Je peux même désactiver le paramètre "auto-hide" (masquage automatique) à ce stade et la barre des tâches conserver la taille étroite. Bien entendu, je brancher le courant alternatif sur l'ordinateur l'ordinateur portable pour que la batterie reste chargée. Après avoir éteint mon ordinateur portable et l'avoir puis le rallumer pour l'utiliser, je le même truc d'alimentation électrique pour redimensionner la barre des tâches verticale. I n'ai pas essayé sur d'autres ordinateurs portables/pc donc je ne sais pas si cette astuce fonctionne sur tous les systèmes win7.

EDITAR

J'ai peut-être trouvé une direction que tu pourrais suivre.

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

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

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

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

0 votes

J'ai entendu cela aussi, et comme vous pouvez le lire dans les commentaires de la "réponse" de Sagar, vous pouvez changer la taille temporairement, mais si vous pouvez le faire temporairement, il doit y avoir un hack pour le faire de façon permanente. C'est ce que je cherche ;) la prime n'est pas pour rien.

0 votes

Je viens d'essayer, et ça n'a pas marché. Mais je pense que vous êtes dans la bonne direction. Je l'ai changé en un bouton plus petit, mais le problème est que lorsque vous tuez explorer.exe par exemple, 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 est toujours au même endroit où il était avant et non à la limite de l'écran. Il est donc évident qu'une autre configuration/fichier/registre doit être modifiée.

0 votes

@inf.ig.sh : J'ai trouvé un produit qui remplace tout le bouton Start par un petit bitmap, mais sans succès. Je pense donc que la largeur est intégrée à la barre des tâches. Je sais pertinemment que les développeurs de MS ont continué à développer la barre des tâches jusqu'à la dernière minute possible, et que de nombreuses constantes ont donc é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 pense que les quelques pixels qui peuvent être économisés en mode classique sont le maximum possible pour le moment (yick). Sinon, seules des solutions temporaires semblent être possibles, au moins jusqu'à l'arrivée de Windows 8.

2voto

giny8i8 Points 21

Je suis un grand fan d'autohotkey, il m'a fallu du temps pour trouver le moyen le plus simple de résoudre ce problème. J'ai d'abord essayé de modifier directement les paramètres du registre, mais cela nécessitait le redémarrage d'explorer.exe, ce que je n'aimais pas, alors finalement, après de nombreuses tentatives infructueuses, j'ai abouti à ceci. S'il y a des améliorations à apporter, je mettrai à jour le code dans pastebin.

Autohotkey GinThinSideTaskbar J'ai fait un code autohotkey qui rend votre barre de tâches latérale de 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 aussi mis ça sur http://pastebin.com/4upmWETQ

N'hésitez pas à l'utiliser et à le distribuer, et à nous faire part de vos commentaires ! giny8i8

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X