Unhiding Old Applets and Changing Their Orders in CPL
Oct 21, 2023 7:01:00 GMT -8
Post by Brawllux on Oct 21, 2023 7:01:00 GMT -8
EDIT 05/02/2024:
YOU DONT NEED TO DO THIS ANYMORE. USE THE WINDHAWK MOD INCLUDED IN THIS PACK
EDIT 10/11/2023:
YOU DONT NEED TO DO THIS ANYMORE. USE THE WINDHAWK MOD INCLUDED IN THIS PACK
EDIT 10/11/2023:
While this modification is in place you cannot install any UWP apps or update one. Keep a copy of your unedited dll,update the apps you need then you can change back to the modded version.
I am happy to announce that I discovered some interesting stuff in shell32.dll,these include the orders of applets in Control Panel and how Microsoft hid legacy pages forcing us to use a different GUID to get them to show up.
Before starting this process be sure to create a restore point and create bootable installation media containing Windows 10 or 11 since we will need to boot to it in order to change stock shell32.dll file with the modified one.MOST IMPORTANT NOTE:
Even if you are using Windows 10 1903 and above every edit will be done to shell32.dll, we are not gonna modify shell32.dll.mun!
This modding proccess will not break shell32.dll file signature since you are not adding new stuff into it or deleting existing stuff.
When the file size stays the same the signature will not break so you wont need to disable integrity checks and file signature enforcement.
Disable Hiding Legacy Pages:
IMPORTANT NOTE: This modification will only help legacy pages to appear, it cannot restore any functionality and any page that is not normally in windows or ones that are added with other modifications.
Firstly you need to open your shell32.dll in HxD. Do not try to open it directly in Windows folder since the program wont be able to read anything, you will need to copy the file to a folder that you have full control like your desktop. Then we are gonna find the code that hides the pages. I used "{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921}" the GUID for classic personalization CPL for finding this code since its one of the pages that Microsoft hid.
Search for this GUID in shell32.dll with configuration in the image below:
After doing that you will see lots of GUIDs stored together:
Yes, these are the GUIDs Microsoft does not want us to see in Control Panel. Now to make them reappear in CPL you will need to change all of the bytes that contains GUID stuff to 00(blank)
Do not touch the letters below GUIDs since they are unrelated. You might break something else while trying to do this modification.
After this save the changes then boot to your Installation Media and swap the old file with the modified one.
Also do not worry about breaking shell32.dll file signature since you are not adding new stuff into it or deleting existing stuff. The file size does not change when you replace existing bytes with 00's.
When the file size stays the same the signature will not break so you wont need to disable integrity checks and file signature enforcement.
For replacing the files while booted into the media you can use either CMD(the classic way) or 7z-FM(a lot easier since you can see what is going on).
I highly recommend not overwriting the old shell32.dll file since if something goes wrong you can just rename it back from a bootable media.
Now restart your PC and open your control panel. You should see old Personalization page back in "Appearance and Personalization" Category:
and these 2 pages in Hardware and Sound category:
If you are seeing these CPLs in their respective categories this implies that you successfully completed the modification process.
Other pages that Microsoft hid are not possible to get back in CPL with only this modification, you will need to do other modifications to get pages like Language CPL and Family Safety/Parental Controls CPL back in their respective places.
This mod will only help them to appear, it cannot restore any functionality and any page that is not added with other modifications.
REARRANGING CPL APPLET
ORDERS:
IMPORTANT NOTE: This modification will only change the orders of pages, it cannot restore any functionality and any page that is not normally in windows or ones that are added with other modifications.
When we add any legacy or custom page back to CPL it always appears in the bottom in the assigned category. We know that some legacy pages we restored were on the top in previous versions of windows so lets see how Microsoft sorts these items internally.
I am gonna explain how this works with CPL Category 1(Appearance and Personalization). For other categories the steps are very similar.
Firstly you need to open your shell32.dll in HxD. Do not try to open it directly in Windows folder since the program wont be able to read anything, you will need to copy the file to a folder that you have full control like your desktop. Then we are gonna find where the orders of applets are stored. I used "{0DF44EAA-FF21-4412-828E-260A8728E7F1}" the GUID for Taskbar Properties for finding this code because its only in category 1, this will make finding stuff a lot faster and easier.
Search for this GUID in shell32.dll with configuration in the image below:
Just like in the previous topic you will see lots of GUID's stored together:
These are how applet orders are stored internally. If you are having a hard time noticing it let me help you a little bit:
These are the applet orders. Stored in reverse order. Since we cannot add new stuff in the DLL we are only able to sort 4 items in category one(Appearance and Personalization).
We have to replace the existing GUID's in there with the ones we want to sort.
For the item to be on top of the page ,you put it on last place, for the item to be on the bottom of the page you put it on first place:
After this save the changes then boot to your Installation Media and swap the old file with the modified one.
Also do not worry about breaking shell32.dll file signature since you are not adding new stuff into it or deleting existing stuff. The file size does not change when you replace existing bytes.
When the file size stays the same the signature will not break so you wont need to disable integrity checks and file signature enforcement.
For replacing the files while booted into the media you can use either CMD(the classic way) or 7z-FM(a lot easier since you can see what is going on).
I highly recommend not overwriting the old shell32.dll file since if something goes wrong you can just rename it back from a bootable media.
Now restart your PC and open your control panel. You should see the applets ordered as how you specified it to be like.
My Appearance and Personalization page looks like this after the modification process:
Also this is in Windows 10 1909,this is not Windows 8.
I hope this discovery will help us to improve customizability in windows and make it closer to older versions better than ever. Have a nice day!