Jump to content
  • Advertisement
Sign in to follow this  
BennettSteele

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

This topic is 2329 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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. ;) Edited by bennettbugs

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
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. Edited by bennettbugs

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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. Edited by bennettbugs

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!