web-dev-qa-db-ja.com

サイドバーとしてのWindows 7タスクバー、最小幅は固定

これは些細で不必要な質問のように聞こえるかもしれませんが、ますます私を苛立たせ続けています。 Windows 7のタスクバーで「小さいアイコン」を選択し、タスクバーが画面の上部または下部にある場合、タスクバーはかなり小さくなります。

Screenshot of a horizontal taskbar

しかし、私はワイドスクリーンモニターを持っているので、スペースをより効率的に使用するので、画面の横にタスクバーを配置することに慣れています。しかし、タスクバーを特定のレベルより狭くすることはできず、かなり広いままです。

Screenshot of a vertical taskbar

画面の側面の幅を下部または上部の高さと同じにするために設定できるレジストリエントリはありますか?

(追伸:MinWidthトリックはここでは役に立ちません。)

20
scigor

完璧な作業ソリューションの1つは次のとおりです。

  • thinTaskbar.batファイルを作成する
  • 次の内容を入力します。

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

  • 保存して閉じます
  • 次のタスクバーオプションをオンにする:ロックと自動非表示
  • 管理者権限でバッチスクリプトを実行する
  • できました!

必要に応じて、自動非表示を無効にできるようになりました。スクリプトは、再起動するたびに適用する必要があります。

出典: Youtube

12
Impulse

実際、私はこの質問に重複して質問しましたが、それでも解決されません Windowsサーバー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
mit

現在使用している解決策があります。私はこれをコーディングするのに何時間も費やし、それが私にとって完璧に機能することを非常に満足しています。このコードをオンラインでフォーラムに投稿したい場合は、私(drange17)にクレジットしてください。次に、ConsoleSendのコードに Lexikos を使用したいと思います。

まず、C:\ Program Filesに "cmd.lnk"というコマンドプロンプトへのショートカットを配置しました。このショートカットのプロパティ>>ショートカットタブ>>詳細>>管理者として実行を有効にします。

次に、AutoHotkeyをダウンロードして起動時に実行します([スタート]メニューの[スタートアップ]フォルダーにAutoHotkeyへのショートカットを配置します)。次のコードを使用します(これは非常にエレガントではないので、誰かがもっと上手くできると確信していますが、垂直タスクバーを狭める仕事):

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
}

これが結果の薄い垂直タスクバーです。

enter image description here

3
drange17

私はオートホットキーの大ファンです。これを解決する最も簡単な方法を見つけるのに少し時間がかかりました。最初に直接レジストリ設定の変更を試みましたが、これにはExplorer.exeの再起動が必要でしたが、これは私が気に入らなかったため、最終的に多くの試行が失敗した後、これで終了しました。改善が必要な場合は、Pastebinのコードを更新します。

Autohotkey GinThinSideTaskbar小さなアイコン1のアイコンでウィンドウ7のサイドタスクバーを細くするオートホットキーコードを作成しました:

^+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

2
giny8i8

一部の人々は、この動作はタッチ機能の最小の厚さを制限するための設計によると言います:タスクバーは指先で利用するには小さすぎないようになっているので、画面の側面ではこれが最小サイズを維持します。

あなたがラップトップを所有している場合、私は this 一時的な解決策を見つけました:

電源を入れると、タスクバーはデフォルトの「ワイド」サイズで画面の左側に垂直に表示されます。タスクバーの幅を狭くするには、ラップトップのAC電源を取り外します。すぐにタスクバーのサイズが変更されます(タスクバーが「自動非表示」に設定されていない場合は機能しません)。新しいタスクバーのサイズは、Windows 7の操作中は「永続的に」維持されます。この時点で「自動非表示」設定を無効にしても、タスクバーは狭いサイズを維持します。もちろん、バッテリーを充電しておくために、ラップトップにAC電源を差し込みます。ラップトップをシャットダウンし、後で使用するために再びオンにした後、同じAC電源のトリックを実行して、垂直タスクバーのサイズを再度変更します。私は他のラップトップ/ PCでこれを試したことがないので、このトリックがすべてのwin7システムで機能するかどうかはわかりません。

[〜#〜]編集[〜#〜]

私はあなたが従うことができる方向を見つけたかもしれません。

まず、Windowsテーマをクラシックに設定すると、スタートボタンの幅が小さくなり、タスクバーの幅をスタートボタンの幅まで小さくできることがわかりました。時計と日付をオフにする必要がある場合もあります。

これにより、幅の問題はスタートボタン自体が広すぎることが原因であると考え始めました。だから、ここにスタートボタンをカスタマイズするためのいくつかのリンクがあります:

Windows 7で[スタート]ボタンのテキストを変更する方法
Windows 7でスタートメニューボタンを変更する方法

このソリューションは機能する場合と機能しない場合があり、Aeroで機能する場合と機能しない場合、またはクラシックモードでのみ機能する場合があります。
いずれにしても、ハッキングを楽しんでください!

2
harrymc

これは古い質問であることはわかっていますが、 7+ Taskbar Tweaker というツールを使用してこれを実現できます。

インストールして実行したら、トレイアイコンを右クリックして[詳細オプション]を開くと、「no_width_limit」というオプションがあります。そのオプションを有効にして、新しい構成を適用します。

これを有効にすると、タスクバーのロックを解除すると、マウスを使用してアイコンのサイズに関連してタスクバーの幅を縮小できるようになります。

後でタスクバーを自由にロックしてください。私はこれが利用可能な最も完全なソリューションであると信じています。

Screenshot

1
Radical Raccoon

別のウィンドウスタイルを使用してこれを解決する方法があるかもしれません。チューンアップなどのツールを使用して他のスタイルをダウンロードおよびインストールできます。また、独自のスタイルをデザインするツールもあります。この問題のないスタイルを作成する可能性があります。

1
Michael K