Desktop mode (second method of having 32px icons)
Feb 17, 2021 7:33:01 GMT -8
Post by anixx on Feb 17, 2021 7:33:01 GMT -8
This is the second method of heaving 32px icons with labels below.
Before doing, disable any shell-sffecting AHK scripts.
1. Set fflags registry key for a folder to 43000020 and icon size to 32px.
2. Open that folder, see if the icons are 32px and the labels are below, apply the view to all folders.
3. This view still has problems: no scrollbars and icons are aligned left. This should be corrected via an AHK script:
If you already have a functioning AHK script that uses the other (ROB's) method of achieving the 32px icons, replace the following lines with the two lines above:
Now you have the foldes in the desktop mode. The advantage over the other method is that you can switch between views and the labels will remain under the icons,
you do not need to re-open the folder. It also applies instantly when opening a folder, without a delay. The disadvantage is sorting mode is not remembered and groupping does not work at all.
The lines needed for this method do not break anything even if you just add it to a script, even if you use another method.
Before doing, disable any shell-sffecting AHK scripts.
1. Set fflags registry key for a folder to 43000020 and icon size to 32px.
2. Open that folder, see if the icons are 32px and the labels are below, apply the view to all folders.
3. This view still has problems: no scrollbars and icons are aligned left. This should be corrected via an AHK script:
DllCall( "RegisterShellHookWindow", UInt,hWnd )
MsgNum := DllCall( "RegisterWindowMessage", Str,"SHELLHOOK" )
OnMessage( MsgNum, "ShellMessage" )
Return
ShellMessage(wParam,lParam) {
If (wParam = 1 or wParam = 6) ; HSHELL_WINDOWCREATED := 1
{
WinGetClass, WinClass, ahk_id %lParam%
if (WinClass = "CabinetWClass") {
;ControlGetPos,x,,w,,DirectUIHWND2, ahk_id %lParam%
;ControlMove, ShellTabWindowClass1,x-1,,w+1,, ahk_id %lParam%
Control, ExStyle, +0x200, FolderView, ahk_id %lParam%
Control, ExStyle, +0x200, SysListView321, ahk_id %lParam%
Control, ExStyle, +0x200, SysTreeView321, ahk_id %lParam%
Control, Style, -0x2800, FolderView, ahk_id %lParam%
Control, Style, -0x2800, SysListView321, ahk_id %lParam%
If (wParam = 6){
ControlGetPos,,,,h, ShellTabWindowClass1, ahk_id %lParam%
ControlMove, ShellTabWindowClass1,,,,h+1, ahk_id %lParam%
ControlMove, ShellTabWindowClass1,,,,h, ahk_id %lParam%
}
}}}
The key lines here areControl, Style, -0x2800, FolderView, ahk_id %lParam%
Control, Style, -0x2800, SysListView321, ahk_id %lParam%
If you already have a functioning AHK script that uses the other (ROB's) method of achieving the 32px icons, replace the following lines with the two lines above:
Control, Style, +0x2, FolderView, ahk_id %lParam%
Control, Style, +0x2, SysListView321, ahk_id %lParam%
Control, Style, -0x2, FolderView, ahk_id %lParam%
Control, Style, -0x2, SysListView321, ahk_id %lParam%
Now you have the foldes in the desktop mode. The advantage over the other method is that you can switch between views and the labels will remain under the icons,
you do not need to re-open the folder. It also applies instantly when opening a folder, without a delay. The disadvantage is sorting mode is not remembered and groupping does not work at all.
The lines needed for this method do not break anything even if you just add it to a script, even if you use another method.