Display a grayed or ghosted icon for hidden files or folders in a menu Topic is solved

Get help with using AutoHotkey (v1.1 and older) and its commands and hotkeys
iPhilip
Posts: 822
Joined: 02 Oct 2013, 12:21

Display a grayed or ghosted icon for hidden files or folders in a menu

19 Dec 2017, 15:03

Hi folks,

I am curious to know if it's possible to modify the script below (from the ImageHandles page) to display a grayed or ghosted icon for hidden files or folders in the resulting menu. I played around with the SHGetFileInfoW() function and it's parameters but could not find anything obvious.

I would appreciate any hints you may have.

Code: Select all

; Show a menu of the first n files matching a pattern, and their icons.
pattern = %A_ScriptDir%\*
n = 15

; Allocate memory for a SHFILEINFOW struct.
VarSetCapacity(fileinfo, fisize := A_PtrSize + 688)

Loop, Files, %pattern%, FD
{
    ; Add a menu item for each file.
    Menu F, Add, %A_LoopFileName%, donothing
    
    ; Get the file's icon.
    if DllCall("shell32\SHGetFileInfoW", "wstr", A_LoopFileFullPath
        , "uint", 0, "ptr", &fileinfo, "uint", fisize, "uint", 0x100)
    {
        hicon := NumGet(fileinfo, 0, "ptr")
        ; Set the menu item's icon.
        Menu F, Icon, %A_Index%&, HICON:%hicon%
        ; Because we used ":" and not ":*", the icon will be automatically
        ; freed when the program exits or if the menu or item is deleted.
    }
}
until A_Index = n
Menu F, Show
donothing:
return
Windows 10 Pro (64 bit) - AutoHotkey v2.0+ (Unicode 64-bit)
User avatar
TheDewd
Posts: 1513
Joined: 19 Dec 2013, 11:16
Location: USA

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

19 Dec 2017, 16:53

You will probably need to use GDI+ to manipulate the icon before displaying it. That's outside of my comfort zone.

Here's a modification to the script that shows a custom icon for hidden files:

Code: Select all

; Show a menu of the first n files matching a pattern, and their icons.
pattern = %A_ScriptDir%\*
n = 15

; Allocate memory for a SHFILEINFOW struct.
VarSetCapacity(fileinfo, fisize := A_PtrSize + 688)

Loop, Files, %pattern%, FD
{
    ; Add a menu item for each file.
    Menu F, Add, %A_LoopFileName%, donothing

    ; Get the file's icon.
    if DllCall("shell32\SHGetFileInfoW", "wstr", A_LoopFileFullPath
        , "uint", 0, "ptr", &fileinfo, "uint", fisize, "uint", 0x100)
    {
        hicon := NumGet(fileinfo, 0, "ptr")
        ; Set the menu item's icon.

        If (InStr(FileExist(A_LoopFileName), "H")) {
            Menu F, Icon, %A_Index%&, shell32.dll, 42
        } Else {
            Menu F, Icon, %A_Index%&, HICON:%hicon%
        }

        ; Because we used ":" and not ":*", the icon will be automatically
        ; freed when the program exits or if the menu or item is deleted.
    }
}
until A_Index = n
Menu F, Show
donothing:
return
iPhilip
Posts: 822
Joined: 02 Oct 2013, 12:21

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

19 Dec 2017, 17:24

Thank you, TheDewd. It looks harder than I thought. I will keep this open in case others have ideas.

For reference, I tried to change the DllCall to

Code: Select all

DllCall("Shell32.dll\SHGetFileInfoW", "WStr", A_LoopFileFullPath, "UInt", 0x2, "Ptr", &fileinfo, "UInt", fisize, "UInt", 0x110) ; FILE_ATTRIBUTE_HIDDEN = 0x00000002, SHGFI_USEFILEATTRIBUTES = 0x000000010
with no success. :(
Windows 10 Pro (64 bit) - AutoHotkey v2.0+ (Unicode 64-bit)
User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

19 Dec 2017, 17:47

- Unfortunately this lets you grey out items, but you cannot have an item that is both greyed out and enabled.
EnableMenuItem function (Windows)
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
- This does look pretty good though, and gives greyed out items (and greyed out text, with disabled menu items). Add it to the bottom of the script. (Finally gives me a chance to use AHK's built-in MenuGetHandle function.)

Code: Select all

hMenu := MenuGetHandle("F")
;MF_BYPOSITION := 0x400 ;MF_GRAYED := 0x1
vIndex := 11
if (vIndex = 11)
	DllCall("user32\EnableMenuItem", Ptr,hMenu, UInt,vIndex-1, UInt,0x401)
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA
User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

19 Dec 2017, 18:36

- Man, I haven't had one of these wild goose chases, for something that should be obvious, for a while.
- I've found some information:

- [perhaps this]
visual%20c++.pdf
http://yocreate.yolasite.com/resources/visual%20c++.pdf
Blending with the gray color (ghosted state, for a hidden file)
- SHGFI_SELECTED, SHGFI_LINKOVERLAY - these worked to make an icon blue with a link arrow
- SFGAO_GHOSTED, perhaps?
- [supposedly has relevant info, which I couldn't find, but I didn't look too closely]
Get the right icon (overlay, ghosted and more) with SHGetFileInfo - AutoIt Example Scripts - AutoIt Forums
https://www.autoitscript.com/forum/topi ... tfileinfo/
- [possibly this]
How to get icon for hidden file (like Explorer) for ListView in Delphi? - Stack Overflow
https://stackoverflow.com/questions/335 ... -in-delphi
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA
gamergames

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

19 Dec 2017, 20:41

jeeswg wrote:- Man, I haven't had one of these wild goose chases, for something that should be obvious, for a while.
- I've found some information:

- [perhaps this]
visual%20c++.pdf
http://yocreate.yolasite.com/resources/visual%20c++.pdf
Blending with the gray color (ghosted state, for a hidden file)
- SHGFI_SELECTED, SHGFI_LINKOVERLAY - these worked to make an icon blue with a link arrow
- SFGAO_GHOSTED, perhaps?
- [supposedly has relevant info, which I couldn't find, but I didn't look too closely]
Get the right icon (overlay, ghosted and more) with SHGetFileInfo - AutoIt Example Scripts - AutoIt Forums
https://www.autoitscript.com/forum/topi ... tfileinfo/
- [possibly this]
How to get icon for hidden file (like Explorer) for ListView in Delphi? - Stack Overflow
https://stackoverflow.com/questions/335 ... -in-delphi
when you do the wild goose chases the ahk community benefits from your findings
iPhilip
Posts: 822
Joined: 02 Oct 2013, 12:21

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

20 Dec 2017, 17:04

Thank you, jeeswg and qwerty12 (though he deleted his very useful post). Below is what I came up with. I put it in the form of a function so that it can be easily used by others. I tested it with A32/U32/U64.

Code: Select all

#NoEnv
#SingleInstance force

; Show a menu of the first n files matching a pattern, and their icons.
pattern = %A_ScriptDir%\*
n = 15
Loop, Files, %pattern%, FD
{
   ; Add a menu item for each file.
   Menu F, Add, %A_LoopFileName%, donothing
   ; Set the menu item icon.
   SetMenuIcon("F", A_LoopFileName, A_LoopFileFullPath)
}
until A_Index = n
Menu F, Show
donothing:
return

SetMenuIcon(MenuName, MenuItemName, Path) {
   static SHGFI_ICON       := 0x00000100
        , SHGFI_ATTRIBUTES := 0x00000800
        , SFGAO_GHOSTED    := 0x00008000
        , ILC_COLOR32      := 0x00000020
        , ILC_MASK         := 0x00000001
        , ILD_BLEND50      := 0x00000004
   
   VarSetCapacity(FileInfo, fSize := A_PtrSize + 688)
   VarSetCapacity(ICONINFO, iSize := 2*4 + 3*A_PtrSize)
   VarSetCapacity(BITMAP, 32)
   
   if DllCall("Shell32.dll\SHGetFileInfoW", "WStr", Path, "UInt", 0, "Ptr", &FileInfo, "UInt", fSize, "UInt", SHGFI_ICON | SHGFI_ATTRIBUTES, "UPtr") {
      hIcon := NumGet(FileInfo, 0, "ptr")
      dwAttributes := NumGet(FileInfo, A_PtrSize + 4, "UInt")
      if (dwAttributes & SFGAO_GHOSTED) {
         DllCall("GetIconInfo", "Ptr", hIcon, "Ptr", &ICONINFO)
         hbmColor := NumGet(ICONINFO, iSize - A_PtrSize, "Ptr")
         hbmMask := NumGet(ICONINFO, iSize - 2*A_PtrSize, "Ptr")
         DllCall("GetObject", "Ptr", hbmColor, "Int", 4*4 + 2*A_PtrSize, "Ptr", &BITMAP)
         Width := NumGet(BITMAP, 4, "Int"), Height := NumGet(BITMAP, 8, "Int")
         iml := DllCall("ImageList_Create", "Int", Width, "Int", Height, "UInt", ILC_COLOR32 | ILC_MASK, "Int", 1, "Int", 0, "Ptr")
         idx := DllCall("ImageList_Add", "Ptr", iml, "Ptr", hbmColor, "Ptr", hbmMask)
         hdc := DllCall("CreateCompatibleDC", "Ptr", 0, "Ptr")
         DllCall("SelectObject", "Ptr", hdc, "Ptr", hbmColor, "Ptr")
         DllCall("ImageList_DrawEx", "Ptr", iml, "Int", idx, "Ptr", hdc, "Int", 0, "Int", 0, "Int", 0, "Int", 0, "UInt", 0xFFFFFF, "UInt", 0, "UInt", ILD_BLEND50)
         hIcon := DllCall("CreateIconIndirect", "Ptr", &ICONINFO, "Ptr")
         DllCall("DeleteDC", "Ptr", hdc)
         DllCall("ImageList_Destroy", "Ptr", iml)
         DllCall("DeleteObject", "Ptr", hbmMask)
         DllCall("DeleteObject", "Ptr", hbmColor)
      }
      Menu, %MenuName%, Icon, %MenuItemName%, HICON:%hIcon%
   }
}
Cheers!
Windows 10 Pro (64 bit) - AutoHotkey v2.0+ (Unicode 64-bit)
qwerty12
Posts: 468
Joined: 04 Mar 2016, 04:33
Contact:

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

20 Dec 2017, 17:09

iPhilip wrote:Thank you, jeeswg and qwerty12 (though he deleted his very useful post).
Sorry, I deleted it because I had a chance to compare a listview with the LVIS_CUT state set on the same icon I had the menu display and I found my code made the icon too light in comparison (it also didn't help that I was testing with my usual dark WIndows theme set). I was way out of my depth there. But if it helped, then I'm glad :-)

EDIT: I should point out that AutoHOtkey has built-in equivalents for ImageList_Create/Destroy in the form of IL_Add et cetera
User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

20 Dec 2017, 17:40

- @qwerty12: Did my links help you at all? Btw someone might have wanted it lighter than usual, and that script was easily better than nothing at all.
- Did anybody find more info on getting the right shade?
Last edited by jeeswg on 20 Dec 2017, 17:46, edited 1 time in total.
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA
iPhilip
Posts: 822
Joined: 02 Oct 2013, 12:21

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

20 Dec 2017, 17:46

Hi qwerty12,

Thank you for letting me know. I agree that the icon it very light but it's better than nothing. Actually, it's only slightly lighter than the icon of a menu item when it's disabled. I tried to replace some of the ImageList_ commands with the built-in forms but I was not successful.
Windows 10 Pro (64 bit) - AutoHotkey v2.0+ (Unicode 64-bit)
User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

20 Dec 2017, 17:50

- Do any of the flags work better in terms of brightness?
IMAGELISTDRAWFLAGS (Windows)
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
- Or changing 0xFFFFFF to a smaller number?
- I would recommend sticking with DllCall and not using the built-in functions. Very often with image lists you need to use DllCall, even in examples in the documentation. Everything's easier if you stick with DllCall, for image lists.
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA
qwerty12
Posts: 468
Joined: 04 Mar 2016, 04:33
Contact:

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

20 Dec 2017, 17:55

Hi jeeswg & iPhilip,
jeeswg wrote:- @qwerty12: Did my links help you at all? Btw someone might have wanted it lighter than usual, and that script was easily better than nothing at all.
I had already searched for "SHGetFileInfo hidden" and found a useful post on a newsgroup mentioning LVIS_CUT. I took a dissassembler to comctl32.dll to find out what happens when LVIS_CUT is set and that led me to discovering the ImageList functions for the first time. Honestly, I couldn't get the colours right so to me it was a bad script.
iPhilip wrote:I tried to replace some of the ImageList_ commands with the built-in forms but I was not successful.
EDIT: You need to call DestroyIcon before CreateIconIndirect. CreateIconIndirect creates a new icon, the old icon will be leaked if it's not destroyed manually.

I was attempting to work on a replacement post that hopefully did it properly. I still failed, but one of the things I did achieve was using the built-in IL functions for some things if it helps any:

Code: Select all

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

; Show a menu of the first n files matching a pattern, and their icons.
pattern = %A_ScriptDir%\*
n = 15

VarSetCapacity(ICONINFO, 32), VarSetCapacity(BITMAP, 32)
; Allocate memory for a SHFILEINFOW struct.
VarSetCapacity(fileinfo, fisize := A_PtrSize + 688)

Loop, Files, %pattern%, FD
{
    ; Add a menu item for each file.
    Menu F, Add, %A_LoopFileName%, donothing
    
    ; Get the file's icon.
    if DllCall("shell32\SHGetFileInfoW", "wstr", A_LoopFileFullPath
        , "uint", 0, "ptr", &fileinfo, "uint", fisize, "uint", 0x100 | SHGFI_ATTRIBUTES := 0x000000800)
    {
        hicon := NumGet(fileinfo, 0, "ptr")
		dwAttributes := NumGet(fileinfo, A_PtrSize + 4, "UInt")
		if (dwAttributes & SFGAO_GHOSTED := 0x00008000) {
			if (DllCall("GetIconInfo", "Ptr", hicon, "Ptr", &ICONINFO)) {
				hbmColor := NumGet(ICONINFO, 32 - A_PtrSize, "Ptr")
				hbmMask := NumGet(ICONINFO, 32 - (A_PtrSize * 2), "Ptr")

				if (DllCall("GetObject", "Ptr", hbmColor, "Int", A_PtrSize == 8 ? 32 : 24, "Ptr", &BITMAP)) {
					width := NumGet(BITMAP, 4, "Int")
					height := NumGet(BITMAP, 8, "Int")

					if ((im := IL_Create(1, 0, True))) {
						if ((idx := DllCall("ImageList_Add", "Ptr", im, "Ptr", hbmColor, "Ptr", hbmMask)) != -1) {
							clrBk := DllCall("GetSysColor", "UInt", COLOR_MENU := 4, "UInt")
							clrFg := RGB(255, 255, 255)
							scrdc := DllCall("GetDC", "Ptr", A_ScriptHwnd, "Ptr")
							hdc := DllCall("CreateCompatibleDC", "Ptr", scrdc, "Ptr")
							
							;hbmMask := DllCall("CreateCompatibleBitmap", "Ptr", scrdc, "Int", width, "Int", height, "Ptr")
							DllCall("SelectObject", "Ptr", hdc, "Ptr", hbmMask, "Ptr")
							if (DllCall("ImageList_DrawEx", "Ptr", im, "Int", idx, "Ptr", hdc, "Int", 2, "Int", 0, "Int", width, "Int", height, "UInt", clrBk, "UInt", clrFg, "UInt", ILD_MASK := 0x00000010 | ILD_BLEND50 := 0)) {
								;hbmColor := DllCall("CreateCompatibleBitmap", "Ptr", scrdc, "Int", width, "Int", height, "Ptr")
								DllCall("SelectObject", "Ptr", hdc, "Ptr", hbmColor, "Ptr")
								DllCall("ImageList_DrawEx", "Ptr", im, "Int", idx, "Ptr", hdc, "Int", 0, "Int", 0, "Int", width, "Int", height, "UInt", clrBk, "UInt", clrFg, "UInt", ILD_BLEND50 := 0x00000004)
								DllCall("SelectObject", "Ptr", hdc, "Ptr", 0, "Ptr")

								DllCall("DestroyIcon", "Ptr", hicon)
								;NumPut(hbmColor, ICONINFO, 32 - 8, "Ptr")
								;NumPut(hbmMask, ICONINFO, 32 - 16, "Ptr")
								hicon := DllCall("CreateIconIndirect", "Ptr", &ICONINFO, "Ptr")
							}
							DllCall("DeleteDC", "Ptr", hdc)
							DllCall("ReleaseDC", "Ptr", 0, "Ptr", scrdc)
						}
						IL_Destroy(im)
					}
				}

				if (hbmColor)
					DllCall("DeleteObject", "Ptr", hbmColor)

				if (hbmMask)
					DllCall("DeleteObject", "Ptr", hbmMask)
			}
		}
        ; Set the menu item's icon.
        Menu F, Icon, %A_Index%&, HICON:%hicon%
        ; Because we used ":" and not ":*", the icon will be automatically
        ; freed when the program exits or if the menu or item is deleted.
    }
}
until A_Index = n
Menu F, Show
donothing:
return

RGB(r,g,b)
{
	return (r)|(g << 8)|(b << 16)
}
jeeswg wrote:- Do any of the flags work better in terms of brightness?
IMAGELISTDRAWFLAGS (Windows)
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
I tried quite a few of them. Most are just synonyms for ILD_BLEND. ILD_TRANSPARENCY killed the transparency. ILD_BLEND25 makes things worse.
- Or changing 0xFFFFFF to a smaller number?
I tried RGB black and white, and CLR_NONE/CLR_DEFAULT to no avail. But I don't know what I'm doing here...
- I would recommend sticking with DllCall and not using the built-in functions. Very often with image lists you need to use DllCall, even in examples in the documentation. Everything's easier if you stick with DllCall, for image lists.
Believe it or not, I only turn to DllCall when I have to :) If AHK has a built-in way of doing something, then I usually go for it
jeeswg wrote:- 'I took a disassembler to comctl32.dll'. Very interesting, what disassembler did you use? Also, do hidden and cut icons have the same brightness?
The most famous one. As I don't know assembler, I rely on its decompiler a lot.

R.e. the brightness: I believe so.
Last edited by qwerty12 on 20 Dec 2017, 18:23, edited 3 times in total.
User avatar
jeeswg
Posts: 6902
Joined: 19 Dec 2016, 01:58
Location: UK

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

20 Dec 2017, 18:13

- I generally agree that using the AHK functions is best, but for me this is one of the exceptions. IIRC, the AHK functions were just very basic functions in this case, wrappers for the Winapi functions.
- Instead of 0xFFFFFF, something like 0xC0C0C0 or 0x808080.
See: Progress/SplashImage
https://autohotkey.com/docs/commands/Pr ... ect_Colors
- 'I took a disassembler to comctl32.dll'. Very interesting, what disassembler did you use? Also, do hidden and cut icons have the same brightness?
homepage | tutorials | wish list | fun threads | donate
WARNING: copy your posts/messages before hitting Submit as you may lose them due to CAPTCHA
iPhilip
Posts: 822
Joined: 02 Oct 2013, 12:21

Re: Display a grayed or ghosted icon for hidden files or folders in a menu  Topic is solved

20 Dec 2017, 21:47

Thank you jeeswg and qwerty12 for your ongoing support. Below is a version that uses built-in functions (which makes it simpler). I also played with the shade and found what I think it a reasonable compromise.

Code: Select all

; Show a menu of the first n files matching a pattern, and their icons.
pattern = %A_ScriptDir%\*
n = 15
Loop, Files, %pattern%, FD
{
   ; Add a menu item for each file.
   Menu F, Add, %A_LoopFileName%, donothing
   ; Set the menu item icon.
   SetMenuIcon("F", A_LoopFileName, A_LoopFileFullPath)
}
until A_Index = n
Menu F, Show
donothing:
return

SetMenuIcon(MenuName, MenuItemName, Path) {
   static SHGFI_ICON       := 0x00000100
        , SHGFI_ATTRIBUTES := 0x00000800
        , SFGAO_GHOSTED    := 0x00008000
        , ILD_BLEND50      := 0x00000004
   
   VarSetCapacity(FILEINFO, Size := A_PtrSize + 688)
   if DllCall("Shell32.dll\SHGetFileInfoW", "WStr", Path, "UInt", 0, "Ptr", &FILEINFO, "UInt", Size, "UInt", SHGFI_ICON | SHGFI_ATTRIBUTES) {
      hIcon := NumGet(FILEINFO, 0, "Ptr")
      dwAttributes := NumGet(FILEINFO, A_PtrSize + 4, "UInt")
      if (dwAttributes & SFGAO_GHOSTED) {
         VarSetCapacity(ICONINFO, Size := 8 + 3*A_PtrSize)
         DllCall("GetIconInfo", "Ptr", hIcon, "Ptr", &ICONINFO)
         hbmColor := NumGet(ICONINFO, Size - A_PtrSize, "Ptr")
         hbmMask := NumGet(ICONINFO, Size - 2*A_PtrSize, "Ptr")
         iml := IL_Create(1,0,true)
         idx := IL_Add(iml, "HICON:" hIcon)-1
         hdc := DllCall("CreateCompatibleDC", "Ptr", 0, "Ptr")
         DllCall("SelectObject", "Ptr", hdc, "Ptr", hbmColor)
         DllCall("ImageList_DrawEx", "Ptr", iml, "Int", idx, "Ptr", hdc, "Int", 0, "Int", 0, "Int", 0, "Int", 0, "UInt", 0xE0E0E0, "UInt", 0, "UInt", ILD_BLEND50)
         hIcon := DllCall("CreateIconIndirect", "Ptr", &ICONINFO, "Ptr")
         DllCall("DeleteObject", "Ptr", hbmColor)
         DllCall("DeleteObject", "Ptr", hbmMask)
         DllCall("DeleteDC", "Ptr", hdc)
         IL_Destroy(iml)
      }
      Menu, %MenuName%, Icon, %MenuItemName%, HICON:%hIcon%
   }
}
Cheers!
Last edited by iPhilip on 21 Dec 2017, 16:33, edited 1 time in total.
Windows 10 Pro (64 bit) - AutoHotkey v2.0+ (Unicode 64-bit)
qwerty12
Posts: 468
Joined: 04 Mar 2016, 04:33
Contact:

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

21 Dec 2017, 05:08

Hi iPhilip,

That is indeed far simpler and nicer looking! The only thing I can suggest is that hbmMask must also be destroyed if it exists following a successful GetIconInfo call.

Best regards

EDIT: Happy holidays to you too!
Last edited by qwerty12 on 21 Dec 2017, 17:38, edited 1 time in total.
iPhilip
Posts: 822
Joined: 02 Oct 2013, 12:21

Re: Display a grayed or ghosted icon for hidden files or folders in a menu

21 Dec 2017, 16:35

Hi qwerty12,

Thank you for pointing that out. I updated the above post to incorporate your suggestion.

Happy Holidays! :xmas:
Windows 10 Pro (64 bit) - AutoHotkey v2.0+ (Unicode 64-bit)

Return to “Ask for Help (v1)”

Who is online

Users browsing this forum: mikeyww and 362 guests