แถบงาน Windows 7 เป็นแถบด้านข้างแก้ไขความกว้างต่ำสุด


20

นี่อาจฟังดูเป็นคำถามที่ไม่สำคัญและไม่จำเป็น แต่ก็ทำให้ฉันรำคาญมากขึ้นเรื่อย ๆ หากคุณเลือก "ไอคอนเล็ก" สำหรับทาสก์บาร์ใน Windows 7 และทาสก์บาร์นั้นอยู่ที่ด้านบนหรือด้านล่างของหน้าจอแถบงานจะเล็กไป

สกรีนช็อตของทาสก์บาร์แนวนอน

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

สกรีนช็อตของแถบงานแนวตั้ง

อาจมีรายการรีจิสตรีที่ฉันสามารถตั้งค่าให้มีความกว้างเท่ากันที่ด้านข้างของหน้าจอเท่ากับความสูงที่ฉันได้รับที่ด้านล่างหรือด้านบน?

(PS: เคล็ดลับ MinWidth ไม่ได้ช่วยที่นี่)


2
แค่โน้ตถ้าคุณล็อคทาสก์บาร์มันจะไม่แสดงที่จับเหล่านั้นซึ่งจะขยับปุ่มหน้าต่างให้เข้าใกล้ลูกโลกมากขึ้น
nhinkle

คำตอบ:


12

โซลูชันการทำงานที่สมบูรณ์แบบอย่างหนึ่งคือ:

  • สร้างไฟล์ ThinTaskbar.bat
  • ป้อนเนื้อหาต่อไปนี้:

@echo off
echo ThinTaskbar
echo Please wait a few secconds...
net stop "UxSms"
net start "UxSms"

  • บันทึกและปิด
  • เปิดใช้งานตัวเลือกแถบงานต่อไปนี้: ล็อคและซ่อนอัตโนมัติ
  • รันสคริปต์ชุดงานด้วยสิทธิ์ผู้ดูแลระบบ
  • ทำ!

ตอนนี้คุณสามารถปิดใช้งานการซ่อนอัตโนมัติถ้าคุณต้องการ ต้องใช้สคริปต์หลังจากรีบูตแต่ละครั้ง

ที่มา: Youtube


Hurray สำหรับคำตอบที่ใช้งานได้!
Barfieldmv

เพิ่งพบคำตอบของคุณและมันก็มีประโยชน์มาก จากการอ่านที่อื่นถ้าคุณเพิ่มไฟล์. bat นี้ลงในไดเรกทอรี% AppData% \ Microsoft \ Windows \ Start Menu \ Programs \ Startup \ ไดเรกทอรีของคุณควรรัน. bat เมื่อเริ่มต้นแทนที่จะต้องทำด้วยตนเอง
WebDevNewbie

มันไม่ได้ผลสำหรับฉัน เห็นได้ชัดว่ามันไม่ได้ทำสิ่งเดียว แต่ cmd บอกว่ามันหยุดและเริ่มประสบความสำเร็จ แม้กระทั่งจากแผงบริการ ความคิดใด ๆ
Carles Alcolea

3

ที่จริงฉันถามซ้ำกับคำถามนี้และมันก็ยังไม่ได้รับการแก้ไขแถบงานแนวตั้งบน windows server 2008 กว้างเกินไป

แต่ฉันสามารถชี้ให้คุณไปที่ลิงค์นี้:

http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/when-vertical-cannot-make-taskbar-as-thin-as/9ecf0b1c-e66d-497c-8c2b-5ef3965e2b59

โดยพื้นฐานแล้วมันบอกว่าไอคอนขนาดเล็กนั้นกว้างกว่าที่ปรากฏ (แต่ไม่สูงกว่า) และนี่คือการออกแบบ คุณไม่สามารถเปลี่ยนความกว้างของแถบงานด้านล่างความกว้างเสมือนของไอคอน

สาเหตุที่ทำให้ 'สูง' เล็กลงเมื่อแนวนอนเป็นเพราะแต่ละไอคอนยังคงมีความกว้างที่กว้างดังนั้นจึงสามารถใช้ปลายนิ้วสัมผัสได้อย่างง่ายดาย

อาจมีบางคนสามารถใช้สิ่งนี้เพื่อสร้างโซลูชัน:)


3

ฉันมีทางออกที่ฉันใช้อยู่ในขณะนี้ ฉันใช้เวลาหลายชั่วโมงในการเขียนโค้ดนี้และฉันก็พอใจมากที่มันทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน ไปข้างหน้าและใช้มันหากคุณต้องการเพียงแค่เครดิตฉัน (drange17) หากคุณต้องการโพสต์รหัสนี้ทางออนไลน์ในฟอรัม ในทางกลับกันฉันก็ต้องการเครดิตLexikosสำหรับรหัสสำหรับ ConsoleSend

ประการแรกฉันวางทางลัดไปยังพรอมต์คำสั่งที่เรียกว่า "cmd.lnk" ในไฟล์ C: \ Program ฉันไปที่คุณสมบัติของทางลัดนี้ >> แท็บทางลัด >> ขั้นสูง >> เปิดใช้งานเรียกใช้ในฐานะผู้ดูแลระบบ

ประการที่สองฉันดาวน์โหลด AutoHotkey และทำให้มันทำงานเมื่อเริ่มต้น (วางทางลัดไปที่ AutoHotkey ในโฟลเดอร์ Start Menu Startup) ด้วยรหัสต่อไปนี้ (ซึ่งไม่หรูหรามากอย่างแน่นอนฉันแน่ใจว่าบางคนทำได้ดีกว่า แต่ก็ทำได้ดีกว่า งานของการ จำกัด แถบงานแนวตั้งให้ฉัน):

Sleep, 15000
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
    WinActivate
    Sleep, 500
    SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
    SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
    SendInput {Tab}{Space}{Enter}
WinWaitClose
    Run C:\Program Files\cmd.lnk
WinWait, Administrator: cmd ahk_class ConsoleWindowClass
winwaitactive Administrator: cmd ahk_class ConsoleWindowClass
ConsoleSend("net stop uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("net start uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("exit", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
WinWaitClose
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
    WinActivate
Sleep, 500
SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
SendInput {Tab}{Space}{Enter}
Run outlook.exe
ConsoleSend(text, WinTitle="", WinText="", ExcludeTitle="", ExcludeText="")
{
    WinGet, pid, PID, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    if !pid
        return false, ErrorLevel:="window"
    if !DllCall("AttachConsole", "uint", pid)
        return false, ErrorLevel:="AttachConsole"
    hConIn := DllCall("CreateFile", "str", "CONIN$", "uint", 0xC0000000
                , "uint", 0x3, "uint", 0, "uint", 0x3, "uint", 0, "uint", 0)
    if hConIn = -1
        return false, ErrorLevel:="CreateFile"
    VarSetCapacity(ir, 24, 0)       ; ir := new INPUT_RECORD
    NumPut(1, ir, 0, "UShort")      ; ir.EventType := KEY_EVENT
    NumPut(1, ir, 8, "UShort")      ; ir.KeyEvent.wRepeatCount := 1
    Loop, Parse, text ; for each character in text
    {
        NumPut(Asc(A_LoopField), ir, 14, "UShort")
        NumPut(true, ir, 4, "Int")  ; ir.KeyEvent.bKeyDown := true
        gosub ConsoleSendWrite
        NumPut(false, ir, 4, "Int") ; ir.KeyEvent.bKeyDown := false
        gosub ConsoleSendWrite
        Sleep, 10
    }
    gosub ConsoleSendCleanup
    return true
    ConsoleSendWrite:
        if ! DllCall("WriteConsoleInput", "uint", hconin, "uint", &ir, "uint", 1, "uint*", 0)
        {
            gosub ConsoleSendCleanup
            return false, ErrorLevel:="WriteConsoleInput"
        }
    return
    ConsoleSendCleanup:
        if (hConIn!="" && hConIn!=-1)
            DllCall("CloseHandle", "uint", hConIn)
        DllCall("FreeConsole")
    return
}

นี่คือแถบงานแนวตั้งบาง ๆ ที่เกิดขึ้น:

ป้อนคำอธิบายรูปภาพที่นี่


1
ดูมีแนวโน้มมาก แต่คุณสามารถเพิ่มความคิดเห็นและอธิบายสิ่งที่คุณกำลังทำอยู่ได้หรือไม่
Scigor

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

2

บางคนบอกว่าพฤติกรรมนี้เกิดจากการออกแบบเพื่อจำกัดความหนาขั้นต่ำสำหรับฟังก์ชั่นการสัมผัส: แถบงานถูกป้องกันไม่ให้เล็กเกินไปที่จะใช้งานด้วยปลายนิ้วดังนั้นด้านข้างของหน้าจอจะทำให้ขนาดเล็กที่สุดนี้

หากคุณเป็นเจ้าของแล็ปท็อปฉันพบวิธีแก้ไขปัญหาชั่วคราวนี้ :

เมื่อเปิดเครื่องขึ้นแถบงานจะปรากฏตามขนาด 'กว้าง' ที่เป็นค่าเริ่มต้นในแนวตั้งที่ด้านซ้ายของหน้าจอ เพื่อทำให้แถบความกว้างของแถบงานแคบลงฉันเพียงถอดปลั๊กแหล่งพลังงาน ac ของแล็ปท็อป ทันทีแถบงานจะถูกปรับขนาด (ไม่ทำงานหากไม่ได้ตั้งค่าแถบงานเป็น 'ซ่อนอัตโนมัติ') ขนาดทาสก์บาร์ใหม่จะได้รับการดูแลรักษาอย่างถาวรระหว่างการดำเนินการของ Windows 7 ฉันสามารถปิดการใช้งานการตั้งค่า 'ซ่อนอัตโนมัติ' ได้ ณ จุดนี้และทาสก์บาร์ยังคงรักษาขนาดที่แคบไว้ แน่นอนฉันเสียบไฟ ac กลับไปที่แล็ปท็อปเพื่อให้แบตเตอรี่ชาร์จ หลังจากปิดแล็ปท็อปของฉันและจากนั้นเปิดใหม่อีกครั้งสำหรับการใช้งานฉันเพียงแค่ทำตามเคล็ดลับ ac-power เดียวกันเพื่อปรับขนาดแถบงานแนวตั้งอีกครั้ง ฉันไม่ได้ลองสิ่งนี้บนแล็ปท็อป / พีซีอื่นดังนั้นฉันเลย '

แก้ไข

ฉันอาจพบทิศทางที่คุณสามารถติดตามได้

ครั้งแรกเมื่อตั้งค่าชุดรูปแบบ Windows เป็นแบบคลาสสิกฉันสังเกตว่าปุ่มเริ่มลดความกว้างลงและอนุญาตให้ลดความกว้างของแถบงานเป็นปุ่มเริ่มได้ คุณอาจต้องปิดนาฬิกาและวันที่

นี่เป็นจุดเริ่มต้นที่ฉันคิดว่าปัญหาความกว้างนั้นเกิดจากปุ่ม Start เองกว้างเกินไป ดังนั้นนี่คือลิงค์บางส่วนเพื่อปรับแต่งปุ่มเริ่ม:

วิธีเปลี่ยนข้อความปุ่มเริ่มใน Windows 7
วิธีเปลี่ยนปุ่มเมนูเริ่มใน Windows 7

วิธีการแก้ปัญหานี้อาจหรืออาจไม่ทำงานและอาจหรือไม่สามารถทำงานกับ Aero หรือในโหมดคลาสสิกเท่านั้น
ไม่ว่าในกรณีใด: แฮ็คที่มีความสุข!


ใช่ฉันได้ยินเช่นกันและในขณะที่คุณสามารถอ่านจากความคิดเห็นเป็น "ตอบ" คุณสามารถเปลี่ยนขนาด temporaraly แต่ถ้าคุณสามารถทำได้ temporaraly จะต้องมีแฮ็คที่จะทำมันอย่างถาวร นั่นคือสิ่งที่ฉันกำลังมองหา;) ความโปรดปรานไม่ใช่เพื่ออะไร
scigor

สวัสดีเพิ่งลองและมันใช้งานไม่ได้ แต่ฉันคิดว่าคุณกำลังมุ่งหน้าไปในทิศทางที่ถูกต้อง ฉันเปลี่ยนมันเป็นปุ่มที่เล็กกว่า แต่สิ่งนี้คือเมื่อคุณยกตัวอย่างเช่น kill explorer.exe คุณยังเห็นสถานที่ที่ใช้ไม่ได้ ตัวอย่างเช่นเมื่อคุณพยายามใช้ขอบของหน้าจอคุณจะพบว่าหลังจากที่ฆ่า explorer.exe แล้วมันยังคงอยู่ในตำแหน่งเดิมที่เคยอยู่มาก่อนและไม่อยู่ที่ขอบเขตของหน้าจอ เห็นได้ชัดว่ามีการเปลี่ยนแปลงการกำหนดค่า / ไฟล์ / รีจิสตรีอื่น ๆ
scigor

@ inf.ig.sh: ฉันพบผลิตภัณฑ์ที่แทนที่ปุ่ม Start ทั้งหมดด้วยบิตแมปขนาดเล็กหนึ่งอัน แต่ไม่ไป ดังนั้นฉันเชื่อว่าความกว้างถูกติดตั้งไว้ที่ทาสก์บาร์ ฉันรู้ว่าผู้พัฒนา MS ยังคงพัฒนาทาสก์บาร์จนถึงนาทีสุดท้ายที่เป็นไปได้และค่าคงที่จำนวนมากถูกสร้างไว้ในซอฟต์แวร์แถบงานเองแทนที่จะเป็นพารามิเตอร์รีจิสตรี ฉันเชื่อว่าไม่กี่พิกเซลที่สามารถบันทึกในโหมดคลาสสิกเป็นไปได้สูงสุดในขณะนี้ (yick) มิฉะนั้นจะสามารถแก้ปัญหาได้ชั่วคราวอย่างน้อยที่สุดจนกว่า Windows 8 จะพร้อมใช้งาน
harrymc

ดีเวลาที่จะวิ่งออกมาบนโปรดปรานดังนั้นตั้งแต่คุณลงทุนความพยายามมากที่สุดในคำถามนี้คุณจะได้รับเงินรางวัลที่จะทำให้คำถามที่เปิดในกรณีที่ยังคงมีวิธีการแก้ปัญหาในอนาคต
scigor

2

ฉันเป็นแฟน autohotkey ตัวใหญ่ฉันใช้เวลาพอสมควรในการหาวิธีที่ง่ายที่สุดในการแก้ปัญหานี้ ฉันพยายามเปลี่ยนแปลงการตั้งค่ารีจิสทรีโดยตรงก่อน แต่สิ่งเหล่านั้นต้องการการรีสตาร์ท explorer.exe ซึ่งฉันไม่ชอบดังนั้นในที่สุดหลังจากความพยายามที่ล้มเหลวหลายครั้งฉันก็ลงเอยด้วยสิ่งนี้ หากมีการปรับปรุงใด ๆ ฉันจะอัปเดตรหัสใน pastebin

Autohotkey GinThinSideTaskbar ฉันทำรหัส autohotkey ที่ทำให้ windows 7 ของคุณด้านข้างทาสก์บาร์พร้อมไอคอนขนาดเล็กบางไอคอน 1 ไอคอน:

^+t::  
        ; GinThinSideTaskbar
        ; by giny8i8
        ; v1p01 at 2014-06-21
        ; If you use the Windows 7 Taskbar on the side of your screen, with smal icons, this makes it look 1 icon thin instead of the default double size.
        ; Assumptions: The taskbar is not hidden when you run this code (UxSms restart thinners the taskbar only if the taskbar is hidden)

        TaskbarToggler() ;Hide Taskbar
        Sleep 1000      ;Wait a little
        RunWait,sc stop "UxSms" ;Stop "Desktop Window Manager Session Manager Service" service.
        RunWait,sc start "UxSms" ;Start "Desktop Window Manager Session Manager Service" service.
        Sleep 1000      ;Wait a little
        TaskbarToggler() ;Show Taskbar again

        TaskbarToggler()
        {
                Run % "RunDll32.exe shell32.dll,Options_RunDLL 1" ;Open "Taskbar and Start Menu Properties" window
                WinWait, Taskbar and Start Menu Properties ;Wait for the window to open
                SendInput {Tab}{Space}{Enter} ;Togle Taskbar hiding
        }
        return

ฉันใส่สิ่งนี้ไว้ในhttp://pastebin.com/4upmWETQ ด้วย

รู้สึกอิสระที่จะใช้และแจกจ่ายและโปรดโพสต์ข้อเสนอแนะ! giny8i8


1

อาจมีวิธีการแก้ปัญหานี้โดยใช้รูปแบบหน้าต่างอื่น คุณอาจใช้เครื่องมือเช่นปรับแต่งเพื่อดาวน์โหลดและติดตั้งสไตล์อื่น ๆ นอกจากนี้ยังมีเครื่องมือในการออกแบบสไตล์ของคุณเอง อาจมีความเป็นไปได้ที่จะสร้างสไตล์โดยไม่มีปัญหานี้


ไม่มีลักษณะหน้าต่างไม่ช่วยนี่
scigor

1

ฉันรู้ว่านี่เป็นคำถามเก่า แต่คุณสามารถใช้เครื่องมือที่มีชื่อว่า7+ Taskbar Tweakerเพื่อทำสิ่งนี้ให้สำเร็จ

เมื่อติดตั้งและใช้งานแล้วหากคุณคลิกขวาที่ไอคอนถาดและเปิด "ตัวเลือกขั้นสูง" จะมีตัวเลือกที่เรียกว่า "no_width_limit" เปิดใช้งานตัวเลือกนั้นและใช้การกำหนดค่าใหม่

ด้วยการเปิดใช้งานนี้หากคุณปลดล็อคทาสก์บาร์คุณจะสามารถลดความกว้างของทาสก์บาร์ได้เมื่อเทียบกับขนาดของไอคอนโดยใช้เมาส์

รู้สึกอิสระที่จะล็อคแถบงานหลังจากนั้น ฉันเชื่อว่านี่จะเป็นทางออกที่สมบูรณ์ที่สุดที่มีอยู่

ภาพหน้าจอ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.