Barra de tarefas do Windows 7 como barra lateral, largura mínima fixa


20

Isso pode parecer uma pergunta trivial e desnecessária, mas continua me incomodando cada vez mais. Se você escolher "ícones pequenos" para a barra de tarefas no Windows 7 e a barra de tarefas estiver na parte superior ou inferior da tela, a barra de tarefas ficará bem pequena.

Captura de tela de uma barra de tarefas horizontal

Mas como tenho um monitor widescreen, estou acostumado a ter a barra de tarefas na lateral da tela, pois ela usa o espaço com mais eficiência. Mas não posso deixar a barra de tarefas mais estreita do que um certo nível e ela permanece bem larga.

Captura de tela de uma barra de tarefas vertical

Existe talvez uma entrada do registro que eu possa definir para ter a mesma largura na lateral da tela que a altura que estou recebendo na parte inferior ou superior?

(PS: O truque MinWidth não ajuda aqui.)


2
Apenas uma observação: se você bloquear a barra de tarefas, ela não mostrará essas alças, o que move os botões da janela muito mais perto do orbe.
Nhinkle

Respostas:


12

Uma solução de trabalho perfeita seria:

  • crie um arquivo ThinTaskbar.bat
  • insira o seguinte conteúdo:

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

  • salvar e fechar
  • ative as seguintes opções da barra de tarefas: bloquear e ocultar automaticamente
  • executar script em lote com privilégios de administrador
  • feito!

Agora você pode desativar o ocultar automaticamente, se desejar. O script deve ser aplicado após cada reinicialização.

Fonte: Youtube


Hurrah para uma resposta de trabalho!
Barfieldmv

Acabei de encontrar sua resposta e foi muito útil. De ler em outro lugar, se você adicionar esse arquivo .bat ao diretório% AppData% \ Microsoft \ Windows \ Menu \ Programas \ Startup \, ele deverá executar o .bat na inicialização, em vez de precisar fazê-lo manualmente.
WebDevNewbie

Isso não funciona para mim. Aparentemente, ele não faz nada, mas o cmd diz que para e inicia com sucesso. Mesmo no painel Serviços. Qualquer ideia?
Carles Alcolea

3

Na verdade, eu fiz uma duplicata para esta pergunta, e ainda não está resolvido Barra de tarefas vertical no Windows Server 2008 muito larga

Mas posso apontar para este link:

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

Basicamente, diz que os ícones pequenos são virtualmente mais amplos do que parecem (mas não mais altos) e que isso ocorre por design. Você não pode alterar a largura da barra de tarefas abaixo da largura virtual dos ícones.

O motivo pelo qual ele permite uma 'altura' menor quando horizontal é porque cada ícone ainda tem uma largura larga, para que ele possa ser facilmente direcionado com a ponta do dedo.

Talvez alguém possa usar isso para criar uma solução:)


3

Eu tenho uma solução que estou usando agora. Passei horas codificando isso e estou muito satisfeito de que ele funcione perfeitamente para mim. Vá em frente e use-o se quiser, apenas me credite (drange17) se quiser publicar esse código on-line nos fóruns. Gostaria, por sua vez, de creditar à Lexikos o código do ConsoleSend.

Primeiro, coloquei um atalho para o prompt de comando chamado "cmd.lnk" em C: \ Arquivos de Programas. Vou para as propriedades deste atalho >> guia atalho >> avançado >> ativar a execução como administrador.

Em segundo lugar, baixei o AutoHotkey e o coloquei em execução na inicialização (coloque um atalho para o AutoHotkey na pasta Start Menu Startup), com o seguinte código (que definitivamente não é muito elegante, tenho certeza que alguém pode fazer melhor, mas é o trabalho de restringir a barra de tarefas vertical para mim):

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
}

Aqui está a barra de tarefas vertical fina resultante:

insira a descrição da imagem aqui


11
Parece muito promissor, mas você pode adicionar alguns comentários e descrever o que está fazendo?
scigor

Não correu para mim. por que você corre outlook no final? isso faz parte da solução ou você só queria executar algum aplicativo que cria uma nova janela? Eu poderia enviar automaticamente algumas teclas de atalho para a barra de tarefas e abrir um cmd.exe, mas nada foi digitado nele, embora pareça que esse script esteja tentando fazer isso. deixei o mouse e o teclado em paz por um minuto para deixar terminar. Nada. Alguma dica?
Tgkprog 25/05

2

Algumas pessoas dizem que esse comportamento ocorre por design, a fim de limitar a espessura mínima para a funcionalidade de toque: A barra de tarefas é impedida de se tornar pequena demais para ser utilizada com a ponta do dedo, portanto, na lateral da tela, manterá esse tamanho minimizado.

Se você possui um laptop, encontrei esta solução temporária:

Ao ligar, a barra de tarefas aparece em seu tamanho padrão 'largo' verticalmente no lado esquerdo da tela. Para diminuir a largura da barra de tarefas, basta desconectar a fonte de alimentação CA do laptop. Imediatamente a barra de tarefas é redimensionada (não funciona se a barra de tarefas não estiver definida como 'ocultar automaticamente'). O novo tamanho da barra de tarefas é mantido 'permanentemente' durante a operação do Windows 7. Posso até desativar a configuração 'ocultar automaticamente' neste momento e a barra de tarefas ainda mantém o tamanho restrito. É claro que conecto a energia CA de volta ao laptop para manter a bateria carregada. Depois de desligar meu laptop e depois ligá-lo novamente para uso, eu apenas faço o mesmo truque de energia CA para redimensionar a barra de tarefas vertical novamente. Eu não tentei isso em outro laptop / pc, então não

EDITAR

Eu poderia ter encontrado uma direção que você poderia seguir.

Primeiro, ao definir o tema do Windows para Clássico, notei que o botão Iniciar tinha largura reduzida e, em seguida, isso permitia reduzir a largura da barra de tarefas à do botão Iniciar. Você também pode precisar desligar o relógio e a data.

Isso me fez pensar que o problema de largura é causado pelo próprio botão Iniciar ser muito grande. Então, aqui estão alguns links para personalizar o botão Iniciar:

Como alterar o texto do botão Iniciar no Windows 7
Como alterar o botão Menu Iniciar no Windows 7

Esta solução pode ou não funcionar, e pode ou não funcionar com o Aero, ou apenas no modo Clássico.
De qualquer forma: hackers felizes!


Sim, eu ouvi isso também, e como você pode ler nos comentários para os sagares "responder", você pode alterar o tamanho temporariamente, mas se você puder fazê-lo temporariamente, deve haver um truque para fazê-lo permanentemente. É isso que estou procurando;) a recompensa não é à toa.
scigor 31/08/10

Oi apenas tentei, e não funcionou. Mas acho que você está indo na direção certa. Mudei para um botão menor, mas o problema é que, por exemplo, quando você mata o explorer.exe, ainda vê o lugar inutilizável. Por exemplo, quando você tenta usar a borda da tela, descobre que, depois de matar o explorer.exe, ele ainda está no mesmo local em que estava antes e não no limite da tela. Então, obviamente, alguma outra configuração / arquivo / registro precisa ser alterada.
scigor

@ inf.ig.sh: Encontrei um produto que substituiu todo o botão Iniciar por um pequeno bitmap, mas não foi possível. Portanto, acredito que a largura esteja embutida na barra de tarefas. Sei que os desenvolvedores da MS continuaram desenvolvendo a barra de tarefas até o último minuto possível e que muitas constantes foram incorporadas ao próprio software da barra de tarefas, e não como parâmetros do registro. Acredito que os poucos pixels que podem ser salvos no modo Clássico são os máximos possíveis no momento (yick). Caso contrário, apenas soluções temporárias parecem ser possíveis, pelo menos até o Windows 8 aparecer.
harrymc 5/09/10

Bem, o tempo está a esgotar-se na generosidade assim desde que você investiu mais esforço nesta pergunta que você vai ter a recompensa, irá manter a questão em aberto no caso ainda haja uma solução no futuro
scigor

2

Sou um grande fã da autohotkey, demorei um pouco para encontrar a maneira mais simples de resolver isso. Tentei primeiro as alterações diretas nas configurações do registro, mas elas exigem reinicializações do explorer.exe, das quais não gostei, então, finalmente, depois de muitas tentativas falhas, acabei com isso. Se houver alguma melhoria necessária, atualizarei o código em pastebin.

Autohotkey GinThinSideTaskbar Criei um código de autohotkey que torna a barra de tarefas lateral do Windows 7 com pequenos ícones 1 ícone fino:

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

Eu também coloquei isso em http://pastebin.com/4upmWETQ

Sinta-se à vontade para usar e distribuir e envie comentários! giny8i8


1

Pode haver uma maneira de resolver isso usando outro estilo do Windows. Você pode usar ferramentas como ajustar para baixar e instalar outros estilos; também existem ferramentas para criar seu próprio estilo. Talvez haja a possibilidade de criar um estilo sem esse problema.


não estilos janelas não ajudar aqui
scigor

1

Sei que essa é uma pergunta antiga, mas você pode usar uma ferramenta chamada 7+ Taskbar Tweaker para fazer isso.

Depois de instalado e em execução, se você clicar com o botão direito do mouse no ícone da bandeja e abrir "Opções avançadas", haverá uma opção chamada "no_width_limit". Habilite essa opção e aplique a nova configuração.

Com isso ativado, se você desbloquear a barra de tarefas, poderá reduzir a largura da barra de tarefas em relação ao tamanho dos ícones usando o mouse.

Sinta-se livre para bloquear a barra de tarefas posteriormente. Acredito que esta seja a solução mais completa disponível.

Captura de tela

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.