Como posso reduzir a barra de endereços na barra de tarefas?

2

Eu gosto de poder executar comandos diretamente da barra de tarefas. Então, eu habilitei a barra de endereços no meu novo sistema Windows 7 - assim como eu tive no meu antigo sistema XP. No entanto, a barra parece ter um comprimento mínimo obrigatório que é um pouco mais longo do que eu preferiria. É aproximadamente o dobro do tempo, se a memória serve, como o tamanho mínimo permitido no XP.

Existe alguma maneira que eu possa ajustar este comprimento mínimo, através de uma chave do Registro ou algum outro meio?

(Nota: Eu também tenho uma questão relacionada, sobre como remover o botão Atualizar no final da barra.)

EDIT: para maior clareza, estou adicionando uma captura de tela. A barra de ferramentas que eu quero encurtar é a que está circulada abaixo, com um campo de entrada de texto vazio que tem um drop-down e botão "Atualizar". Atualmente, tenho-o posicionado entre uma barra de ferramentas Início Rápido e a Barra de Tarefas. No lado mais distante da barra de tarefas, antes da bandeja do sistema, há uma barra de ferramentas da área de trabalho.

insira a descrição da imagem aqui

Iszi
fonte
Isso pode ser tão pequeno quanto você conseguir. Parece ter um comprimento mínimo definido.
Phillip R.

Respostas:

5

Você deve ser capaz de reduzi-lo se tiver certeza de que a opção Bloquear a barra de tarefas está desativada , mas é claro que o Windows Explorer impõe um comprimento mínimo como você encontrou. Além de hackear explorer.exepara encontrar a localização do comprimento mínimo (presumivelmente) embutido no código, não há muito o que fazer além de usar os canais de feedback para reclamar com a Microsoft.

Se você ocultar o rótulo do texto de endereço , poderá encolhê-lo um pouco mais (pela largura do rótulo), mas é claro, você já fez isso.

Uma possível solução pode ser usar uma ferramenta de manipulação de janelas de terceiros para editar a janela diretamente, para ocultar o botão de atualização e ajustar o tamanho da faixa de ferramentas.

Você também pode tentar usar um programa de macro / tecla de atalho ou até AutoHotkey / AutoIt / etc. para configurar um gatilho e evento ou apenas script-lo.

Atualizar:

Passei os últimos dias tentando escrever um programa (primeiro C ++, depois um script AutoHotkey) para corrigir esse problema. Eu aprendi algumas coisas interessantes:

  • Remover o botão de atualização é bastante simples, assim como estender a caixa de combinação para usar o espaço (25 pixels) que o botão estava usando.
  • Arrastar a alça da barra de endereço redefine o tamanho do botão de atualização e da caixa de combinação . Em outras palavras, a menos que você bloqueie a barra de tarefas, o Explorer redefiniu a barra de endereços como estava, porque é codificada e dinâmica.
  • Reduzir o endereço (a caixa de combinação) pode ser feito, mas, mesmo assim, o vergalhão permanece do mesmo tamanho e você acaba com um espaço em branco na barra de tarefas.

Em outras palavras, o botão de atualização e o tamanho mínimo são super-hard-coded e não são destinados a fornecer personalização.

Talvez alguém queira se dar ao trabalho de:

  1. Usando a barra de endereços na barra de tarefas e ficar irritado o suficiente pelo tamanho e botão
  2. Descobrir em qual arquivo está codificado (há muito mais arquivos do Explorer no Windows 7 do que no XP)
  3. Encontrar o lugar onde é codificado ( esperamos que seja apenas uma única variável, mas uma grande chance com isso)
  4. Verificando outros efeitos, como outras coisas que acionam o tamanho (a arquitetura do Windows tende a ter muitas interações)
  5. Escrevendo um crack / service / driver para contorná-lo (um crack é mais fácil, mas pior, já que ele teria que ser reaplicado após a maioria das atualizações)

A menos que alguém tenha interesse suficiente em consertá-lo para resolver todos os problemas, talvez sua única opção seja reclamar diretamente com a Microsoft (mas não se esqueça de que eles vão querer empurrar o Windows 8 em breve, gastando tempo para consertar o Windows 7, bem ...)

Enquanto isso, aqui está o script AutoHotkey modificado que permite especificar manualmente a largura:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; SetAddressBarWidth.ahk
;
; This script allows the user to specify the width of the address-bar band of
; the Windows 7 taskbar. It also hides the refresh button and extends the
; combo-box (edit field) to use the space of the refresh button.
;
; http://superuser.com/questions/444407/
;
;   (cl) 2012- Synetech inc., Alec Soroudi
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

#NoTrayIcon                                       ;No tray icon, duh
#NoEnv                                            ;Not using environment vars
#SingleInstance Force                             ;Use only a single instance

min:=0                                            ;Set default width
if 0>0                                            ;Check for arguments
  min=%1%                                         ;Set specified width

abr:="Address Band Root1"                         ;Window class name

IfWinExist ahk_class Shell_TrayWnd                ;Check if taskbar exists
{
  ControlGet, tv, Visible, ,  ToolbarWindow323    ;Is refresh button visible?

  ControlGetPos, tx,ty,tw,th, ToolbarWindow323    ;Get button width
  ControlGetPos, cx,cy,cw,ch, ComboBoxEx321       ;Get combobox width
  ControlGetPos, mx,my,mw,mh, msctls_progress321  ;Get address-bar width
  ControlGetPos, ax,ay,aw,ah, %abr%               ;Get rebar width

  {
    Control, Hide,, ToolbarWindow323              ;Hide the refresh button
    ControlGetPos, cx,cy,cw,ch, ComboBoxEx321     ;Get current combobox width

    if min>0                                      ;If a width was specified
      cw=%min%                                    ;Set the combobox to that width

    if tv                                         ;If the refresh button is visible
      cw:=cw+tw                                   ;Add its width to the combobox

    mw:=cw                                        ;Address-bar is same size
    aw:=cw+4                                      ;Rebar has a 2 pixle border

    ControlMove, %abr%, , , %aw% ,                ;Extend whole address-bar rebar
    ControlMove, msctls_progress321, , , %mw% ,   ;Extend address-bar
    ControlMove, ComboBoxEx321, , , %cw% ,        ;Extend combobox to include button
  }
}
Synetech
fonte
Depressa e dê a este homem a recompensa de +50 do representante !! (não que ele precisa deles embora ...) lol
Rhyuk
@Rhyuk, haha, obrigado. Infelizmente tudo que eu pude fazer foi testar; não há solução prática. :-( Para o registro, eu já tive a barra de endereços na minha barra de tarefas do XP (que eu fiz muito pequeno), mas acho que o uso Win+Ré muito mais rápido e fácil.
Synetech
4

Por qualquer meio, você deve considerar isso como uma fonte confiável de informações, mas apenas um fato que poderia ajudá-lo a começar a resolver seu problema.

Eu procurei no registro por endereço e ele veio com a seguinte chave de registro em HKEY_CURRENT USER \ Software \ Classes \ Local Settings:

@explorerframe.dll,-13137 REG_SZ &Address

Depois eu procurei pelo "@ explorerframe.dll" e encontrei outro registro chamado:

MenuTextPUI REG_SZ @C:\Windows\System32\explorerframe.dll,-13137

Se você procurar no seu registro por "MenuTextPUI" você também encontrará o mesmo tipo de chaves para Links e Desktop, ambas parte do menu Barras de Ferramentas na barra de tarefas que me leva a pensar que temos os valores corretos. Apesar)

Você pode querer verificar esses valores ou até mesmo abrir explorerframe.dll com Resource Hacker para ver o que você pode encontrar nele.

Talvez um guru do registro possa ajudá-lo a partir daqui.

Espero que isso ajude para alguma coisa.

Rhyuk
fonte
2
Eu duvido que isso possa ser definido com o registro. Se a barra de endereços estiver contida na DLL que você encontrou (não vejo por que não seria), talvez seja possível editar o recurso da barra de endereços, mas como provavelmente ela não é dinâmica, seria mais provavelmente codificado para as funções. (Mesmo assim, a edição de arquivos do sistema é ineficiente na melhor das hipóteses.):-(
Synetech
Acho que você está certo. Eu apenas tomei essa questão como um "desafio de pesquisa";)
Rhyuk
e será divertido tentar hacká-lo também. :-)
Synetech