29

When changing shortcut icons it's useful to know which DLLs and EXEs included with Windows contain icons, but there are so many DLLs (especially in System32) that it's difficult to find the ones which contain useful icons.

Which DLLs or EXEs included with Windows (any flavor) contain icons?

Kevin Panko
  • 7,466
pyrachi
  • 903
  • 1
  • 7
  • 10

6 Answers6

51

Big ones:

%windir%\system32\shell32.dll           Standard
%windir%\System32\wmploc.DLL            OK
%windir%\system32\setupapi.dll          OK, Hardware / Periphals
%windir%\system32\ddores.dll            OK, lot of devices
%windir%\System32\ieframe.dll           IE and warnings, mixed ugly
%windir%\system32\netshell.dll          Ugly and non ugly
%windir%\System32\imageres.dll          Ugly, New ones
%windir%\System32\pifmgr.dll            Ugly, Win95 Ones
%windir%\System32\moricons.dll          Ugly, very old
%windir%\System32\mmcndmgr.dll          Ugly, Very old
%windir%\System32\compstui.dll          Ugly, Very old

Small ones:

%windir%\system32\accessibilitycpl.dll
%windir%\explorer.exe
%windir%\system32\gameux.dll            Some gaming icons
%windir%\system32\mmres.dll             Audio
%windir%\system32\mstscax.dll           Warnings
%windir%\System32\netcenter.dll         Network
%windir%\System32\networkexplorer.dll   
%windir%\system32\networkmap.dll
%windir%\System32\pnidui.dll            Ugly Exlamations
%windir%\system32\SensorsCpl.dll        Handheld devices
%windir%\system32\xpsrchvw.exe 
%windir%\system32\UIHub.dll
%windir%\system32\vpc.exe
        - provided as a free download for Win7 owners
%windir%\system32\wmp.dll               Media player
%windir%\system32\wpdshext.dll          Battery and arrows
%windir%\system32\wucltux.dll
e-motiv
  • 177
pyrachi
  • 903
  • 1
  • 7
  • 10
32

Use IconsExtract from NirSoft.

It scans a folder you select and can list any icons and files which contain icons.

enter image description here

Gareth
  • 19,080
akira
  • 63,447
8

The classic additional icon repository of Win95 is %SystemRoot%\system32\moricons.dll. The file is still included with Windows 7.

Gareth
  • 19,080
Jawa
  • 3,679
0

Since Windows 10 v1903, icons have been moved from C:\Windows\System32\some-file.dll to C:\Windows\SystemResources\some-file.dll.mun (not .mui). See this other SuperUser post and Microsoft's website.

MiTeC's Icon Explorer is a free and convenient tool to search through folders and identify files with icons. It also appears to be smart enough to search C:\Windows\SystemResources instead of C:\Windows\System32.


Note 1: One limitation I found: MiTeC's Icon Explorer shows icon indices but not icon IDs. If you're using the Windows Registry to find/edit links to a specific icon DLL, and the icon number has a negative sign, then the number refers to the ID of the icon, not its index. See here and there for more detail.

Note 2: gameux.dll.mun doesn't exist in C:\Windows\SystemResources, maybe because the Games folder was removed in Windows 10 v1803: see this article. A game folder icon still exists in imageres.dll.mun though (index 177, ID 186).

Narvarth
  • 223
0

NirSoft has their own library for record keeping for the icons in dll files for older versions of Windows particularly 7 and 8: https://www.win7dll.info/ https://www.nirsoft.net/dll_information/windows8/

A more recent reference can be found in the TechNet: https://social.technet.microsoft.com/Forums/windows/en-US/6b53a304-4110-4ae3-bff1-8dd7ac46a106/default-icon-library-for-windows-7-amp-all-windows-10-versions

0

This is a complete list of Windows 7 system icons.
If you think it's double post, feel free to include it in the first was wrote and call me to delete it.

 System's Icons Paths:
 The Following dlls are in %windir%/system32

compstui.dll (Com­mon Prop­erty Sheet User Interface) comres.dll (COM+ Resources) ddores.dll (Device Cat­egory Inform­a­tion and Resources) dmdskres.dll (Disk Man­age­ment Sup­port Snap-In) dsuiext.dll (Dir­ect­ory Ser­vice Com­mon UI) ieframe.dll (Inter­net Explorer) imageres.dll (Win­dows Image Resource) imagesp1.dll (Windows SP1 Image Resource) [Drives] inetcpl.cpl (Inter­net Con­trol Panel) main.cpl (Mouse and Keyboard Control Panel Applets) mmcndmgr.dll (Microsoft Man­age­ment Con­sole Node Manager) mmres.dll (Gen­er­al Audio Resources) moricons.dll (Windows NT Setup Icon Resources Library) mstask.dll (Task Scheduler interface DL) mstsc.exe (Remote Desktop Con­nec­tion Client) mstscax.dll (Remote Desktop Ser­vices Act­iveX Client) netshell.dll (Net­work Con­nec­tions Shell) pifmgr.dll (Win­dows NT PIF Man­ager Icon Resource Library) pnidui.dll (Net­work Sys­tem Icons) setupapi.dll (Win­dows Setup API) *** shdocvw.dll (Shell Doc Object and Con­trol Library) shell32.dll (Win­dows Shell Common) urlmon.dll (OLE32 Exten­sion for Win32) wiashext.dll (Ima­ging Devices Shell Folder UI) wmploc.dll (Win­dows Media Play­er Resources) wpdshext.dll (Port­able Devices Shell Extension)


powrprof.dll (Power: Hibernate, Sleep, Suspend) User32.dll

I'm using windows 7 64bit. Of all the ways mentioned here, the most convenient for me was to use (NirSoft's) ResourcesExtract. Thank you very much for all the information.

I also made a little .cmd/.bat for this, that helps me even more.
Requirements:
The (NirSoft's) "ResourcesExtract" must be "installed". (This doesn't need installation, it's portable. Just download it and place its folder somewhere. eg. to the desktop.)
You just need to change one line in the batch and just address where the "ResourcesExtract" is starting from. eg. under :SETINGS/OPTIONS edit the (45th) line cd "C:\where\ever\is\resourcesextract" where ever its folder is.

I'm leaving it here in case it helps someone else:

:: This .bat/.cmd is just a help for "ResourcesExtract.exe" to extract windows icons from system32 folder. (adonios77)
@echo off
title HELPforResourcesExtract
mode con cols=99 lines=110
color 17
:Start
cls
echo. Opened from: %~dpnx0
echo. DLL Location: %WinDir%\System32\
echo.
echo.[0] ALL System32 ICONS in a Folder (WARNING: There are thousands of files.)
echo.    =========
echo.[1] compstui.dll -- (Com­mon Prop­erty Sheet User Interface)
echo.[2] comres.dll   -- (COM+ Resources)
echo.[3] ddores.dll   -- (Device Cat­egory Inform­a­tion and Resources)
echo.[4] dmdskres.dll -- (Disk Man­age­ment Sup­port Snap-In)
echo.[5] dsuiext.dll  -- (Dir­ect­ory Ser­vice Com­mon UI)
echo.[6] ieframe.dll  -- (Inter­net Explorer)
echo.[7] imageres.dll -- (Win­dows Image Resource)
echo.[8] imagesp1.dll -- (Windows SP1 Image Resource) [Drives]
echo.[9] inetcpl.cpl  -- (Inter­net Con­trol Panel)
echo.[A] main.cpl     -- (Mouse and Keyboard Control Panel Applets)
echo.[B] mmcndmgr.dll -- (Microsoft Man­age­ment Con­sole Node Manager)
echo.[C] mmres.dll    -- (Gen­er­al Audio Resources)
echo.[D] moricons.dll -- (Windows NT Setup Icon Resources Library)
echo.[E] mstask.dll   -- (Task Scheduler interface DL)
echo.[F] mstsc.exe    -- (Remote Desktop Con­nec­tion Client)
echo.[G] mstscax.dll  -- (Remote Desktop Ser­vices Act­iveX Client)
echo.[H] netshell.dll -- (Net­work Con­nec­tions Shell)
echo.[I] pifmgr.dll   -- (Win­dows NT PIF Man­ager Icon Resource Library)
echo.[J] pnidui.dll   -- (Net­work Sys­tem Icons)
echo.[K] setupapi.dll -- (Win­dows Setup API) ***
echo.[L] shdocvw.dll  -- (Shell Doc Object and Con­trol Library)
echo.[M] shell32.dll  -- (Win­dows Shell Common)
echo.[N] urlmon.dll   -- (OLE32 Exten­sion for Win32)
echo.[O] wiashext.dll -- (Ima­ging Devices Shell Folder UI)
echo.[P] wmploc.dll   -- (Win­dows Media Play­er Resources)
echo.[Q] wpdshext.dll -- (Port­able Devices Shell Extension)
echo.[R] powrprof.dll -- (Power: Hibernate, Sleep, Suspend)
echo.[S] User32.dll   -- 
echo.
:SETINGS/OPTIONS
:: Put in the next line, where the portable program "ResourcesExtract.exe" starts from.
cd "%UserProfile%\Desktop\resourcesextract-x64"
set _RE=ResourcesExtract.exe
set _S=c:\windows\system32
set _D="%temp%\ResourcesExtractTemp"
set _SW=/ExtractIcons 1 /ExtractCursors 0 /ExtractBitmaps 0 /ExtractHTML 0 /ExtractManifests 0 /ScanSubFolders 0 /ExtractAnimatedIcons 0 /ExtractAnimatedCursors 0 /ExtractAVI 0 /ExtractTypeLib 0 /ExtractBinary 0 /ExtractStrings 0 /OpenDestFolder 1 /SaveBitmapAsPNG 0 /SubFolderDepth 1 /FileExistMode 2 /MultiFilesMode 1
::echo.Program:         [%_RE%]
::echo.Source:          [%_S%]
::echo.Destination:     [%_D%]
::echo.Options/Switches:[%_SW%]
echo.
choice /c 0123456789abcdefghijklmnopqrs /m "Select #:"
set "_EL=%errorlevel%"
if %_EL%==255 goto :ERROR
if %_EL%==29 (%_RE% /Source %_S%\User32.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==28 (%_RE% /Source %_S%\powrprof.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==27 (%_RE% /Source %_S%\wpdshext.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==26 (%_RE% /Source %_S%\wmploc.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==25 (%_RE% /Source %_S%\wiashext.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==24 (%_RE% /Source %_S%\urlmon.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==23 (%_RE% /Source %_S%\shell32.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==22 (%_RE% /Source %_S%\shdocvw.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==21 (%_RE% /Source %_S%\setupapi.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==20 (%_RE% /Source %_S%\pnidui.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==19 (%_RE% /Source %_S%\pifmgr.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==18 (%_RE% /Source %_S%\netshell.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==17 (%_RE% /Source %_S%\mstscax.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==16 (%_RE% /Source %_S%\mstsc.exe /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==15 (%_RE% /Source %_S%\mstask.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==14 (%_RE% /Source %_S%\moricons.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==13 (%_RE% /Source %_S%\mmres.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==12 (%_RE% /Source %_S%\mmcndmgr.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==11 (%_RE% /Source %_S%\main.cpl /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==10 (%_RE% /Source %_S%\inetcpl.cpl /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==9 (%_RE% /Source %_S%\imagesp1.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==8 (%_RE% /Source %_S%\imageres.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==7 (%_RE% /Source %_S%\ieframe.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==6 (%_RE% /Source %_S%\dsuiext.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==5 (%_RE% /Source %_S%\dmdskres.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==4 (%_RE% /Source %_S%\ddores.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==3 (%_RE% /Source %_S%\comres.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==2 (%_RE% /Source %_S%\compstui.dll /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
if %_EL%==1 (%_RE% /Source %_S%\* /DestFolder %_D% %_SW%)&timeout /t 4 >nul &&start "" /d /i /max %_D%
:DELETE
echo.
echo.Firstly manually close "ResourcesExtractTemp" window and
echo.Press any key (if you want) to Delete Temporary folder . . .
pause >nul
cd %temp% && DEL /f /s /q ResourcesExtractTemp
RMdir /s /q ResourcesExtractTemp
echo.The Temporary folder has been deleted.
timeout /t 4 >nul && goto :Start
:ERROR
echo. SORRY, SOMETHING WENT WRONG.
timeout /t 4 >nul && goto :Start
exit

:: https://superuser.com/questions/142731/how-can-i-see-which-dlls-included-in-windows-contain-icons