Як я можу скоротити панель інструментів Адреса на панелі завдань?


2

Мені подобається, що я можу запускати команди прямо зі своєї панелі завдань. Отже, я ввімкнув панель інструментів "Адреса" в моїй новій системі Windows 7 - як і в моїй старій системі XP. Однак, здається, у смуги є обов'язкова мінімальна довжина, яка трохи довша, ніж я вважаю за краще. Це приблизно вдвічі довше, якщо пам'ять служить, як мінімальний розмір, дозволений у XP.

Чи є спосіб змінити цю мінімальну довжину за допомогою ключа реєстру чи інших засобів?

(Примітка. У мене також є пов’язане питання щодо видалення кнопки "Оновити" в кінці панелі.)

EDIT: Для наочності я додаю скріншот. Панель інструментів, яку я хочу скоротити, - це те, що обведено внизу, із порожнім полем для введення тексту, яке має спадне меню та кнопку "Оновити". Наразі він розміщений між панеллю інструментів швидкого запуску та панеллю завдань. З іншого боку панелі завдань перед системним треєм - панель інструментів Робочий стіл.

введіть тут опис зображення


Це може бути настільки мало, як ви можете його отримати. Здається, має встановлену мінімальну довжину.
Філіп Р.

Відповіді:


5

Ви повинні бути в змозі зменшити його , якщо ви переконаєтеся , що блокування панель задач вимкнена , але, звичайно, Windows Explorer накладає мінімальну довжину , як ви знайшли. Крім злому explorer.exeдля пошуку місця розташування (імовірно) жорстко закодованої мінімальної довжини, ви не можете зробити нічого іншого, крім використання каналів зворотного зв’язку для подання скарги на Microsoft.

Якщо ви ховаєте мітку тексту адреси , ви можете трохи зменшити її (по ширині мітки), але, звичайно, ви це вже зробили.

Одним з можливих рішень може бути використання стороннього інструменту для керування вікном для редагування вікна безпосередньо, приховування кнопки оновлення та регулювання розміру панелі інструментів.

Ви також можете спробувати використовувати макро / гарячу клавішу або навіть AutoHotkey / AutoIt / тощо. щоб встановити тригер і подію або просто скриптувати його.

Оновлення:

Я витратив останні кілька днів, намагаючись написати програму (спочатку C ++, потім сценарій AutoHotkey), щоб виправити цю проблему. Я дізнався кілька цікавих речей:

  • Видалити кнопку оновлення досить просто, як і розширення комбінованого вікна, щоб використовувати простір (25 пікселів), який використовувала кнопка.
  • Перетягування ручки адресної панелі скидає кнопку оновлення та розмір комбінаційного вікна . Іншими словами, якщо ви не заблокували панель завдань, Explorer скидає адресний рядок таким, яким він був, оскільки він жорстко закодований і динамічний.
  • Скорочення адреси (комбінований ящик) можна зробити, але навіть тоді сама арматура залишається такого ж розміру, і ви закінчите порожнє місце на панелі завдань.

Іншими словами, кнопка оновлення та мінімальний розмір надмірно жорстко кодуються і не мають на увазі налаштування.

Можливо, хтось захоче піти на проблему:

  1. Використовуючи адресний рядок на панелі завдань і досить дратуйтесь розміром та кнопкою
  2. З'ясування, в якому файлі він жорстко закодований (у Windows 7 файлів Explorer набагато більше, ніж у XP)
  3. Пошук місця, де його важко закодовано ( сподіваємось, що це лише одна змінна, але жирна можливість з цим)
  4. Перевірка інших ефектів, як інших речей, що викликають розмір (архітектура Windows, як правило, має багато взаємодій)
  5. Написання тріщини / послуги / драйвера для подолання (тріщина легше, але гірше, оскільки її доведеться повторно застосувати після більшості оновлень)

Якщо хтось не має достатнього інтересу до виправлення, щоб вирішити всі проблеми, то, можливо, ваш єдиний варіант - скаржитися безпосередньо на Microsoft (але не забувайте, що вони незабаром хочуть натиснути Windows 8, тому витрачайте час на виправити Windows 7, ну ...)

Тим часом ось модифікований скрипт AutoHotkey, який дозволяє вручну вказувати ширину:

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 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
  }
}

Поспішайте і дайте цій людині +50 банальних репутацій !! (не те, що він їм потрібен, хоча ...) lol
Rhyuk

@Rhyuk, ха-ха, дякую. На жаль, все, що я міг зробити, це тест; практичного рішення немає. :-( Для запису колись у мене на панелі завдань XP (який я зробив дуже маленьким) у мене була адресна панель (яку я зробив дуже маленькою), але я вважаю, що використання Win+Rпросто набагато швидше і простіше.
Synetech

4

Ви будь-яким способом слід розглядати це як надійне джерело інформації, але лише факт, який може допомогти вам почати вирішувати свою проблему.

Я шукав у реєстрі адресу та знайшов такий ключ реєстру у HKEY_CURRENT USER \ Software \ Classes \ Local Settings:

@explorerframe.dll,-13137 REG_SZ &Address

Потім я шукав "@ explorerframe.dll" і знайшов ще один реєстр під назвою:

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

Якщо ви шукаєте у своєму реєстрі "MenuTextPUI", ви також знайдете однакові клавіші для посилань та робочого столу, обидві частини меню панелей інструментів на панелі завдань, що приводить мене до думки, що ми маємо правильні значення. хоча)

Ви можете перевірити ці значення або навіть відкрити explorerframe.dll за допомогою ресурсу Hacker, щоб побачити, що ви можете знайти в ньому.

Можливо, гуру реєстру може вам допомогти звідси далі.

Сподіваюся, це щось допомагає.


2
Я дуже сумніваюся, що це можна встановити за допомогою реєстру. Якщо адресний рядок міститься у знайденій вами DLL (я не бачу, чому б цього не було), можливо, ви зможете редагувати ресурс адресного рядка, але оскільки він, ймовірно, не динамічний, він би більше швидше за все, їх важко закодувати. (Навіть тоді редагування системних файлів у кращому випадку неефективне.):-(
Synetech

Я думаю, ти маєш рацію. Я просто сприйняв це питання як "виклик у дослідженні";)
Рюк

і буде цікаво спробувати його зламати. :-)
Synetech
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.