Remaking Explorer.exe in C++, using Win32 and OpenGL

Started by
9 comments, last by BennettSteele 11 years, 10 months ago
So i was thinking... how cool would it be to have my own custom user interface!?!

So i have studied how the desktop works, and come to some conclusions... the only questions i have are:

1. Is this safe? I don't want to do any serious harm...

2. Would OpenGL be compatible with this setup?

3. If it is possible and the above questions are in favor, are there any resources that might help?



If it looks good, i will also release it for free, including the source. ;)
Advertisement
Kiosk developers do this all the time. Usually they don't replace the functionality, just take advantage of hooks that were intentionally placed there for developers to do exactly what you describe.

Another option is to reskin the existing UI. Look at what WindowBlinds and a few others have done in that area.

It is a time consuming road if you want to see it to completion.
Like... how the desktop contains the icons/files, and toolbar. I would like to replace it with my own interface, with different controls and such. Not windows explorer, which you use to browse files, but the main desktop application.
It can be done. Full shell replacements are a lot of work but certainly within the realm of possibility for a well-experienced C/C++ programmer.

You can use the documented registry hacks in this article to help with development. I strongly recommend setting up a secondary user account on your machine for testing the shell - you might discover that the default shell does an awful lot of things for you!

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

It gave me an idea, but not exactly what i was looking for.

What i mean, is when you start windows... you first see the desktop. it starts blank, but is then populated by icons and the toolbar. What i want to do is re-make the process that lets you interact with the desktop and toolbar, or the application that handles the desktop.
Rather than programming it yourself you'd probably find it easier to use an existing solution such as AstonShell or Window Blinds which will allow you to do what you're after. Writing your own software of this type is quite complex -- it should be relatively safe however, and yes, you could use OpenGL.

- Jason Astle-Adams

Well, I know somethings that my programming teacher's have said were hard and were quite easy for me, so i would like to take a crack at it. I also like the idea of everything being mine, that i crafted it, and i know everything that is happening. so if you have any resources that might help, that would help.

Thanks for the other 2 links too, if i dont manage to do complete my own, i will turn to this. :P

It gave me an idea, but not exactly what i was looking for.


On the contrary, that's exactly what you need to know to start doing this. If that isn't apparent to you, you'll probably have a much harder time accomplishing this project than you think.

Understanding the terminology and internal mechanics of Windows is going to be critical to success. You'll also need to get very, very comfortable with reading and understanding documentation like the MSDN article I linked.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Oh... well i figured out what i am going to do (which will probably make more sense):

When i open the application (or at startup), it closes Explorer.exe, and makes a new process/application with some of the same functions of file browsing and window management. when you close it, it re-starts Explorer.exe.

This means i will be handling things like the toolbar, desktop, and file browsing, which is normally done by Explorer.
I'm not sure why you'd take the route that's more work, more fragile, more error-prone, and less friendly to the user, over the documented and recommended method, but sure, OK.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

This topic is closed to new replies.

Advertisement