วิธีสลับสถานะซ่อนอัตโนมัติของทาสก์บาร์ของ Windows


10

ฉันใช้ Windows 8 บนเดสก์ท็อปของฉัน ขณะนี้ฉันต้องเลื่อนเมาส์ไปที่แถบงานคลิกขวาคลิกที่คุณสมบัติคลิกที่ซ่อนแถบงานโดยอัตโนมัติแล้วคลิกตกลง นี่เป็นความเจ็บปวดที่แท้จริงหากคุณต้องการสลับสถานะนี้ระหว่างเปิดและปิดหลายครั้งในระหว่างวัน ในความเป็นจริงมันใช้การไม่ได้ดังนั้นจึงยังคงเปิดใช้งานอยู่โดยค่าเริ่มต้นและสิ้นเปลืองพื้นที่บนหน้าจอจำนวนมากเมื่อฉันไม่ต้องการ

มีวิธีที่ดีกว่า?

(ถ้ามันช่วยได้ฉันใช้ Autohotkey)



@PortlandRunner ขอบคุณสำหรับคำแนะนำ ฉันเห็นแล้ว แต่พยายามทำสิ่งที่แตกต่างออกไปซึ่งเป็นการแสดงทาสก์บาร์ที่ซ่อนอยู่ ฉันต้องการสลับสถานะซ่อนอัตโนมัติของทาสก์บาร์จาก 'ทำซ่อนอัตโนมัติ' เป็น 'ไม่ซ่อนซ่อนอัตโนมัติ' และกลับมาอีกครั้ง
Kit Johnson

คำตอบ:


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

1
พบสิ่งนี้ผ่านทาง google ดูเหมือนจะไม่ทำงานบน Windows 10: มันมักจะเปลี่ยนเป็น "แสดงตลอดเวลา" แต่ทิศทางอื่น ๆ (ไปที่ "ซ่อนอัตโนมัติ") ไม่ทำงาน
srs

1
ทำงานได้สมบูรณ์แบบใน Windows 10 เพียงจำไว้ว่าให้เพิ่มVarSetCapacity(APPBARDATA, A_PtrSize=4 ? 36:48)บรรทัดที่ด้านบนสุดของสคริปต์ของคุณ (หน้าปุ่มลัดของคุณ)
Shayan

3

ลองโปรแกรมเล็ก ๆ นี้ที่ฉันพบเมื่อไม่นานมา น่าทึ่งมาก มันสลับแถบงานที่แสดงหรือซ่อนด้วย Alt-T และคุณสามารถตั้งค่าให้เริ่มต้นด้วยหน้าต่างได้เช่นกัน

http://www.aviassin.com/taskbareliminator

มันเรียกว่า Taskbar Eliminator และใช้ได้ทั้ง Win7 และ Win 8


ใช่มันเป็นแอพเล็ก ๆ ที่สมบูรณ์แบบ สิ่งที่ฉันกำลังมองหา!
Kit Johnson

ฉันถูกบังคับให้ยอมรับคำตอบอื่น ๆ ที่ใช้ AutoHotKey เนื่องจากไม่จำเป็นต้องติดตั้งซอฟต์แวร์มากกว่าที่ฉันใช้อยู่ ฉันแน่ใจว่าคำตอบของคุณจะถูกต้องสำหรับคนอื่น
Kit Johnson

3

ฉันพบโปรแกรมที่เรียกว่า "การควบคุมทาสก์บาร์" ซึ่งให้คุณตั้งค่าคีย์สลับของแถบเครื่องมือ Autohide

การควบคุมแถบงาน

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

หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณได้ดาวน์โหลดเวอร์ชัน "Taskbar AutoHide Control" หากคุณต้องการให้หน้าต่างปัจจุบันของคุณเติมช่องว่างโดยอัตโนมัติ


ไม่มีลิงค์ดาวน์โหลดในหน้า ฉันเดาว่ามันถูกลบหรือไม่
Shayan

ฉันดาวน์โหลดจากsoftpedia.com/get/Desktop-Enhancements/…
Shayan

2

ในการซ่อนแถบงานโดยอัตโนมัติจากพรอมต์คำสั่งหรือใน. 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}"

คำอธิบาย

คีย์รีจิสทรีที่เก็บค่านี้ยังเก็บการตั้งค่าอื่น ๆ อีกจำนวนหนึ่ง เนื่องจากเราต้องการเปลี่ยนตำแหน่งที่ 9 ( $v[8]ในหน่วย cmd) ของการตั้งค่ารีจิสทรีนั้นเราจึงต้องรักษาการตั้งค่าอื่นไว้

ตามปกติจาก cmd ก็เพียงพอที่จะใช้reg addคำสั่งเพื่อแก้ไขรีจิสทรี แต่เราใช้ powershell เพราะทำให้ง่ายต่อการรักษาการตั้งค่าอื่น ๆ ที่เก็บไว้ภายใต้คีย์รีจิสทรีเดียวกัน

Explorer จะต้องเริ่มต้นใหม่เพื่อรับการเปลี่ยนแปลง เราใช้Stop-Processเพราะ Windows รีสตาร์ท Explorer โดยอัตโนมัติเมื่อหยุด

หมายเหตุ: การเปลี่ยนแปลง$v[8]=3ไป$v[8]=2ในคำสั่งดังกล่าวข้างต้นเพื่อยกเลิกการเปลี่ยนแปลงนี้ (ถ้าคุณต้องการแถบงานจะมองเห็นได้เสมอ)


ฉันชอบคำตอบของคุณ แม้ว่าเครื่องมืออื่น ๆ อาจจะดีกว่า / ง่ายกว่าคำอธิบายของคุณเป็นสิ่งที่น่าสนใจที่สุด
Don King

1

"สลับแถบงานจริง"

สคริปต์ AutoHotKey ด้านบนในคำตอบที่ดีที่สุดใช้งานได้ดี บนพีซีของฉันฉันรวมกับ

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

(v1.2)

แอปพลิเคชันการซ่อนแถบงานนี้ให้ฉันเลือกปุ่มลัดเพื่อซ่อนแถบงาน ฉันแมปปุ่มลัด AutoHotKey กับ Win + A และ TaskBar Hider เพื่อรับรางวัล + Y ตอนนี้เมื่อฉันกด Win + Y, Win + A บนทาสก์บาร์จะสลับโดยไม่โผล่ขึ้นมาอีกเมื่อฉันตั้งใจพิกเซลด้านล่าง; เมื่อฉันกด Win + Y, Win + A อีกครั้งมันจะกลับมาและอยู่ที่นั่นไม่ว่าฉันจะวางเคอร์เซอร์ของเมาส์ไว้ที่ไหนและมันก็ยอดเยี่ยม วิธีแก้ปัญหาแบบปุ่มเดียวจะดียิ่งขึ้นแม้ว่าจะมีปุ่มลัดทั้งสองปุ่มอยู่ใกล้กันมันสามารถจัดการได้อย่างแท้จริง

อาจมีวิธีแก้ปัญหาที่ดีกว่า (ปุ่มเดียว) โดยใช้เพียง AutoHotKey?


1
ไม่ทำงานกับ win7 64 บิตของฉัน
Edwin Yip

แน่นอนคุณสามารถแก้ไขสคริปต์ AHK เพื่อปล่อยเหตุการณ์ keypress ที่สอง
Aaron Thoma

1
ไม่ทำงานบน Windows 10
Shayan

1

ฉันไม่สามารถรับสคริปต์ AutoHotKey จาก Gray เพื่อทำงานให้ฉันใน 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 โหลดนอกเหนือจากการนอนหลับ แต่ฉันไม่สามารถเข้าใจได้ การควบคุมกล่องข้อความใน UI ฉันพยายามตรวจหารูปแบบสี แต่ผู้ใช้มีการควบคุมรูปแบบสี)


สิ่งใดuและaสิ่งที่Send, {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 (ซ่อนมัน)
Shayan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.