如何切换Windows任务栏的自动隐藏状态


10

我在桌面上使用Windows 8。当前,我必须将鼠标移到任务栏上,右键单击,单击属性,单击自动隐藏任务栏,然后单击确定。如果您想在一天中多次在此状态之间打开和关闭,这是一个很大的痛苦。实际上,这是行不通的,因此默认情况下它将保持打开状态,并且在我不需要它时会浪费大量屏幕空间。

有没有更好的办法?

(如果有帮助,我可以使用自动快捷键。)


看到这篇文章
波特兰赛跑者

@PortlandRunner感谢您的提示。我已经看过了,但是它试图做一些不同的事情,那就是显示一个隐藏的任务栏。我想将任务栏的自动隐藏状态从“执行自动隐藏”切换为“不自动隐藏”,然后再次返回。
Kit Johnson

Answers:


15

这是一个AutoHotKey脚本来解决此问题:

VarSetCapacity(APPBARDATA, A_PtrSize=4 ? 36:48)

Space::
   NumPut(DllCall("Shell32\SHAppBarMessage", "UInt", 4 ; ABM_GETSTATE
                                           , "Ptr", &APPBARDATA
                                           , "Int")
 ? 2:1, APPBARDATA, A_PtrSize=4 ? 32:40) ; 2 - ABS_ALWAYSONTOP, 1 - ABS_AUTOHIDE
 , DllCall("Shell32\SHAppBarMessage", "UInt", 10 ; ABM_SETSTATE
                                    , "Ptr", &APPBARDATA)
   KeyWait, % A_ThisHotkey
   Return

非常感谢您的发布。这是否只是隐藏任务栏并保留其他窗口不变,还是它们会自动填充任务栏过去占用的空间?许多解决方案的问题在于任务栏隐藏了,但其他窗口却没有填充空间。
Kit Johnson

1
这对我有用(w7 x64)。所有窗口均填充任务栏使用的空间。
灰色

3
请注意,此脚本使用Space作为热键(如果您想知道如何切换隐藏/显示),这是不理想的。我将其替换为#b(win + b,b代表bar)。
alexeit 2014年

1
通过Google找到了这个。在Windows 10上似乎不起作用:它始终切换为“始终显示”,但另一个方向(变为“自动隐藏”)不起作用。
srs

1
在Windows 10中运行完美。只需记住VarSetCapacity(APPBARDATA, A_PtrSize=4 ? 36:48)在脚本顶部(在热键之前)添加该行。
Shayan

3

试试我前一段时间找到的这个小程序。太神奇了。它可以切换使用Alt-T显示或隐藏的任务栏,也可以将其设置为从Windows启动。

http://www.aviassin.com/taskbareliminator

它称为任务栏消除器,适用于Win7和Win 8


是的,那是完美的小应用程序。正是我想要的!
约翰逊

但是,我被迫接受使用AutoHotKey的其他答案,因为它不需要安装比我已经使用的更多的软件。不过,我敢肯定,您的答案将是其他人的正确答案。
杰森·约翰逊

3

我找到了一个名为“任务栏控件”的程序,该程序可让您设置任务栏自动隐藏切换键。

任务栏控件

http://www.thefreewindows.com/3252/hide-completely-the-windows-taskbar-using-a-hotkey-and-unhide-it-with-taskbar-control/

注意:如果要当前窗口自动填充空间,请确保下载“任务栏自动隐藏控件”版本。


该页面上没有下载链接。我猜它被删除了吗?
Shayan


2

从cmd提示或.cmd或中自动隐藏任务栏。蝙蝠文件:

Windows 7(StuckRects2)

powershell -command "&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v;&Stop-Process -f -ProcessName explorer}"

Windows 10(StuckRects3)

powershell -command "&{$p='HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StuckRects3';$v=(Get-ItemProperty -Path $p).Settings;$v[8]=3;&Set-ItemProperty -Path $p -Name Settings -Value $v;&Stop-Process -f -ProcessName explorer}"

说明

存储该值的注册表项还存储许多其他设置。由于我们只想更改$v[8]该注册表设置的位置9(在cmd中),因此我们需要保留其他设置。

通常从cmd,使用reg add命令来修改注册表就足够了,但是我们使用powershell是因为它可以轻松地保存存储在同一注册表项下的其他设置。

还需要重新启动资源管理器以获取更改。我们使用Stop-ProcessWindows,是因为Windows停止后会自动重新启动它。

注:改变$v[8]=3$v[8]=2在上述撤消这一变化(如果你想在任务栏是始终可见)的命令。


我喜欢你的答复。即使其他工具可能更好/更轻松,您的解释也是最有趣的。
唐·金

1

“任务栏实际切换”

上面最佳答案中的AutoHotKey脚本可以正常工作。在我的电脑上,我将其与

http://www.itsamples.com/taskbar-hider.html

(v1.2)

这个任务栏隐藏应用程序使我可以选择热键来隐藏任务栏。我将AutoHotKey-热键映射到Win + A,将TaskBar Hider映射到Win + Y。因此,现在当我按Win + Y,Win + A时,任务栏将切换,而我偶然发现底部像素时又不会再次弹出。当我按Win + Y时,无论我将鼠标指针放在何处,Win + A都会再次返回并停留在那,这很棒。一键式解决方案甚至会更好,尽管两个热键靠得很近,这确实是可管理的。

也许仅使用AutoHotKey会有更好的(一键式)解决方案?


1
不适用于我的win7 64位。
叶德文2015年

当然,您可以编辑AHK脚本以发出第二个按键事件。
亚伦·托马

1
在Windows 10上不起作用
Shayan

1

我无法从Gray那里获得AutoHotKey脚本来在Win 8.1上为我工作,所以我做了一个。把它放在一个.ahk文件中

Windows 8.1版本:

Run, %SystemRoot%\System32\rundll32.exe shell32.dll`,Options_RunDLL 1
WinWait, Taskbar and Navigation properties, 
IfWinNotActive, Taskbar and Navigation properties, , WinActivate, Taskbar and Navigation properties, 
WinWaitActive, Taskbar and Navigation properties, 
Send, {ALTDOWN}u{ALTUP}{ALTDOWN}a{ALTUP}{ESC}
Exit

Windows 10版本(在10.0.17134.523版本1/13/2019上测试):

#NoEnv
#Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

Run ms-settings:taskbar
WinWait, Settings, 
WinWaitActive, Settings, , 3
if ErrorLevel
{
    MsgBox, WinWait timed out.
}

CoordMode, Pixel, Client 
WinGetPos, X, Y, Width, Height
;OutputDebug, Width Height %Width% %Height%

; Wait for Settings UI to load
Sleep 500

if (Width <= 735)
{
    Send {TAB}{TAB}{space}
}
else
{
    Send {TAB}{TAB}{TAB}{space}
}

;Close the settings UI
Sleep 150
Send !{F4}

Exit

(如果您的系统上的睡眠时间不够长,则可能需要调整睡眠时间。除了睡眠以外,也许还有更好的方法来检测UI何时已加载,但我无法弄清楚。我无法检测到用户界面中的文本框控件。我尝试检测颜色模式,但最终用户可以控制颜色方案。)


是什么uaSend, {ALTDOWN}u{ALTUP}{ALTDOWN}a{ALTUP}{ESC}我无法找到的文档任何东西。
Shayan

它不适用于Windows 10
Shayan

1
U和A是发送到应用程序的击键,特别是alt-U和alt-A。稍后我将检查Win10。
查克(Chuck)

0

是的,您可以下载名为“隐藏任务栏”的出色工具,该工具为您提供快捷方式“ Ctrl + Esc”(默认情况下,您可以更改它)以隐藏/取消隐藏任务栏

在这里下载

http://www.thewindowsclub.com/hide-taskbar-windows-7-hotkey


1
感谢您的回答。我下载了程序。不幸的是,当我按下“ Ctrl + Esc”时,它隐藏了任务栏,但它在桌面上只留下了一个空白的任务栏大小的空间。最大化的应用程序不会占用该空间(现在是浪费的空间)。当我使用内置的Windows选项时,应用程序将自动最大化以填满整个屏幕。现在,我只是在任务栏所在的位置出现了一条黑条,但我没有更多的屏幕空间。
Kit Johnson

该工具是用AutoHotkey的创建和所有它的作用是,它设置Shell_TrayWnd的透明度为0(隐藏它)
傻眼了
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.