2017-03-17 39 views
3

在Windows 10中,您可以在任務欄的小圖標或大圖標之間進行選擇。設置可通過任務欄上的UI通過右擊並要設置:如何以編程方式更改Windows 10任務欄圖標大小

Use small taskbar buttons settings

也可以通過修改以下鍵在註冊表編輯器(Regedit.exe)調整此設置:

HKEY_CURRENT_USER \軟件\微軟\的Windows \ CurrentVersion \ Explorer中\高級\ TaskbarSmallIcons

的值是小圖標0大圖標和1。但與UI設置相反,使用此方法,您需要註銷並登錄Windows用戶才能更新任務欄(重新啓動explorer.exe進程也可以,但這不是選項)。

我希望能夠更新任務欄並以編程方式在小圖標或大圖標之間進行選擇。是否有任何API或任何方式來更新任務欄,以便從註冊表中讀取而不必註銷?我的具體目標是當我使用小屏幕(筆記本電腦上的那個)和使用大屏幕時的大圖標(我的常規大屏幕)時自動顯示小圖標。

編輯:現在Adaptive Taskbar for Windows是一個現實感謝提供的解決方案:d

+0

您可以嘗試找到使用EnumWindows的任務欄窗口併發送一條消息,如wm_displaychange或直接隱藏/顯示它。 – VuVirt

回答

3

的Windows 10之前,你可以send the WM_SETTINGCHANGE message到任務欄,但它似乎像no longer works。您可能必須調試Explorer.exe以瞭解現在如何通知它。

編輯:

我只是一個簡單的C++應用程序測試這一點,如果你設置一個特殊的LPARAM字符串時,它也適用於Windows 10:

SendMessageTimeoutW(HWND_BROADCAST, WM_SETTINGCHANGE, NULL, (LPARAM)L"TraySettings", SMTO_NOTIMEOUTIFNOTHUNG, 3000, NULL); 
+0

感謝@Anders,現在[適用於Windows的自適應任務欄](https://github.com/cprcrack/AdaptiveTaskbar)是一個現實,這要歸功於此行:D – cprcrack

+0

WM_SETTINGCHANGE'在Windows 10中的支持有限,尤其是在最新版本這個月出來。它確實適用於這種情況! –

相關問題