2

Is it possible to customize the Windows Run dialog (invoked with Win+R)? For example, is it possible to replace the default Type the name of a program... message with something more interesting?

In particular, I'm interested in doing this on Windows 98 (after seeing this image).

Thanks in advance.

4
  • Why Windows 98?! :|
    – Rhys Evans
    Commented Nov 30, 2012 at 11:22
  • @Aceth: I stumbled upon this and thought it'd be cool to implement in real life. Commented Nov 30, 2012 at 14:45
  • You can try running a strings utility to see if you can locate which EXE or DLL contains that particular message. Then once you have backups in place, a hex editor or Resource Hacker or similar can be used to modify the file and see if it works, or causes Windows to explode.
    – Karan
    Commented Nov 30, 2012 at 17:45
  • @Karan, Thanks! This actually found something on Windows 7 in the winsxs folder. However, I'm not sure changing these files would work: I have the 64-bit version of Win7, and the System32 and SysWOW64 folders both contain versions of Shell32.dll without the string. Commented Dec 1, 2012 at 5:41

1 Answer 1

2

OK, so I figured it out for Windows 98, and it should also work on Windows XP. Here's the info for future generations.

The dialog box is stored in C:\Windows\System\Shell32.dll, and it is possible to edit it using Resource Hacker. After opening the DLL in the program, go to Dialog\1003\1033, and the rest should be pretty straightforward.

  • All of the captions, strings, etc. are in the main window.
  • To remove the context help button from the title bar, remove DS_CONTEXTHELP from the STYLE line at the top.
  • To add an icon to the DLL, select Action-->Add a new Resource, then choose it from your computer and give it a unique resource name (a number).
  • To replace the default icon already present in the dialog, right-click it, choose Edit control, then change the Caption to the resource name of the new icon.

Important: The OK button won't work if you just delete everything else and let it be. To fix this, set its ID property to anything other than 1.

Important 2: Windows won't let you replace the original Shell32.dll while it's running. Reboot into MS-DOS and copy from there.

Unfortunately, I don't know how to do this on Windows 7, as the Shell32.dll there doesn't contain the dialog box. If anyone has an idea, please share.

result

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .