我喜欢能够直接从任务栏运行命令。因此,我在新的 Windows 7 系统上启用了地址工具栏 - 就像我在旧的 XP 系统上一样。但是,该栏似乎具有强制性的最小长度(我发布了一个单独问题(大概就是这样)这比我希望的要长一点。此外,末尾的“刷新”按钮占用了更多的水平空间。
此刷新按钮看起来类似于旧版本中默认显示的“前往”按钮。只需更改 Windows 7 中似乎不存在的注册表值,即可轻松删除该按钮。是否有类似的注册表破解方法可用于删除新的刷新按钮?
答案1
就像我在你的另一个问题中说的那样,没有内置方法来修改地址栏。你需要使用在后台运行的第三方程序,修改地址栏的属性来调整其长度并隐藏刷新按钮。
不幸的是,我不知道有任何这样的程序,也找不到。我有一个自己编写的工具,类似于温斯皮++,但是虽然我的程序和 WinSpy++ 都可以用来手动改变长度和隐藏按钮,但它们都不会在后台运行以检测地址栏的创建时间并自动执行修改。
您可以尝试的一件事是使用热键/宏类型的程序,该程序可以让您设置触发器来执行事件,并将触发器设置为window created - address-bar...
并将事件设置为hide refresh button; set address-bar length=...
这可能也可以通过 AutoHotkey 或 AutoIt 来实现。
这是我的 C++ 程序的 AutoHotKey 移植,用于删除刷新按钮。(它可以在后台编译和运行。)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; NoAddressBarButton.ahk (http://superuser.com/questions/444406/)
;
; This script hides the refresh button of the address-bar band of the Windows 7
; taskbar. It also extends the combo-box (edit field) to use the space of the
; refresh button.
;
; (cl) 2012- Synetech inc.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#NoTrayIcon ;No tray icon, duh
#NoEnv ;Not using environment vars
#SingleInstance Force ;Use only a single instance
#Persistent ;Using a timer loop; keep open
SetTimer, Run, 1000 ;Re-run the check every second
Run:
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
if ((tv==1) || (cw<mw)) ;If button visible
;or resized (combobox is short)
{
Control, Hide,, ToolbarWindow323 ;(Re-)hide the refresh button
ControlGetPos, cx,cy,cw,ch, ComboBoxEx321 ;Get current combobox width
cw:=cw+tw ;Add the button width
ControlMove, ComboBoxEx321, , , %cw% , ;Extend combobox to include button
}
}