Thanks to attempts to learn the Win32 API in C++, and reading the source code of Classic Shell, I now have a better understanding of how Windows manages windows and controls. First off, everything in Windows is a window. Even buttons, textboxes, etc. Classic Shell does not modify system files as I had originally thought it might. Instead it uses the Win32 API to add controls to the taskbar for the start menu modifications. I am almost to the point of being able to utilize this sort of thing in my own code. What I really aim to accomplish eventually is to readd the Active Desktop to Windows which was removed with Vista. I already have a basic idea of how I might be able to do this. Active Desktop was simply Trident (Iternet Explorer rendering engine) embedded in the desktop. This allowed using HTML files as backgrounds.The biggest issue I have right now is figuring out how to get the handles for the windows to hook to.
I have made some progress now on figuring out what parts of the explorer process I need to focus on.
The bottom two highlighted windows are the two I am interested in for this. Progman is responsible for rendering the background image. This is where I will likely want to attach the IEFrame control. SysListView32 is the window of explorer which handles displaying the icons on the desktop. Interesting, before digging around like this I'd assumed the same window handled both. What you are seeing in this is essentially various components of the explorer process. For anyone curious, I am using Process Hacker to get these details.
If I manage to pull this off, I plan to release the program as open source, probably through GitHub.
I have made some progress now on figuring out what parts of the explorer process I need to focus on.
The bottom two highlighted windows are the two I am interested in for this. Progman is responsible for rendering the background image. This is where I will likely want to attach the IEFrame control. SysListView32 is the window of explorer which handles displaying the icons on the desktop. Interesting, before digging around like this I'd assumed the same window handled both. What you are seeing in this is essentially various components of the explorer process. For anyone curious, I am using Process Hacker to get these details.
If I manage to pull this off, I plan to release the program as open source, probably through GitHub.
My Computer
System One
-
- OS
- Windows 8.1 Pro x64
- Computer type
- PC/Desktop
- CPU
- Intel Core i7 4790k @ 4.6 GHz
- Motherboard
- MSI Z97 U3 Plus
- Memory
- 8 GB 1333 MHz DDR3
- Graphics Card(s)
- AMD Radeon R9 285 (2 GB GDDR5), and Intel HD 4600
- Sound Card
- Integrated HD audio
- Monitor(s) Displays
- ASUS VW246H 24.6 inch
- Screen Resolution
- 1920x1080 (natve)
- Hard Drives
- 512 GB Crucial SSD (SATA-III)
- PSU
- 800W NZXT PP-800
- Case
- CoolerMaster HAF 932 Advanced Edition (Steel fulltower)
- Cooling
- Liqtech 240
- Keyboard
- Razer Lycosa
- Mouse
- Logitech G35
- Internet Speed
- 11 Mbps download
- Browser
- Mozilla Firefox
- Antivirus
- AVG free (and common sense :P)