Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to code a new Windows Shell? [closed]

How would I go about coding a new Windows Vista Shell?

like image 402
H4cKL0rD Avatar asked Dec 09 '22 17:12

H4cKL0rD


1 Answers

Everything you need to do as shell has never been documented, so there are some issues with file change notifications etc. The basics are:

  1. SystemParametersInfo(SPI_SETMINIMIZEDMETRICS,...MINIMIZEDMETRICS) with (undocumented?) flag 8
  2. Register as the shell (SetShellWindow,SetProgmanWindow,ShellDDEInit,RegisterShellHook etc)
  3. Hide welcome screen by setting a signal ("msgina: ShellReadyEvent" and "ShellDesktopSwitchEvent")
  4. Start registry run key, start menu\startup and ShellServiceObjects
  5. Set registry Explorer\SessionInfo

The good thing is, you are not the first to write a new shell, if you look around, you can find some obscure required info. Here is a list to get you started:

  • https://web.archive.org/web/2019/http://www.lsdev.org/doku.php
  • http://bb4win.cvs.sourceforge.net/bb4win/blackbox/Blackbox.cpp?revision=1.49&view=markup
  • http://xoblite.net/source/Blackbox.cpp.html
  • http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/
  • http://www.geoffchappell.com/viewer.htm?doc=studies/windows/shell/explorer/index.htm&tx=36
like image 120
Anders Avatar answered Dec 23 '22 16:12

Anders