This post has been imported from the old blog and has not yet been converted to the new syntax yet.
I recently got a new laptop (Dell Inspiron 8600) and installed Windows XP Pro on it (with SP2 installed already, yes :p).

One thing I hate about this, is that it includes IIS5 and you can't install IIS6 on it (not that I know of).

Why is this bad? Because you can only have one site... Which is something I got way to much used to running Windows 2003.

Luckily enough, Davy Belmans thought the same, so he developed IIS Admin.

It's a very nice tool, very small, and sits in the tray bar, allowing you to easily add new sites, and switch between them.

Yes, switch, because even with multiple sites configured, you can only run 1 at the same time apparently.

If you run Windows XP, and you don't have a way to get multiple sites working, get this tool, otherwise, comment and tell me how ;)
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Time for a new article, but not about C# this time.

This time it's about Resource Hacking, more particular, we'll customize the Windows Run box so it will look something like this:



If you're interested, take a look at the article: Custom Run Box (Resource Hacking).
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
It's time for a new article, but not about C# this time. I'll tell you how to modify Windows, we'll change the Run box and make it look like this:



First of all the disclaimer: This article is purely informational, you don't have to do anything because I tell so, everything you do is on your own risk and I am not responsible when anything goes wrong.

With that out of the way, grab the tools if you don't have them yet:


We'll begin by copying shell32.dll to a safe place.

Copy it two times, one which we'll be editing, and one which is a backup.

Open it in ResHacker and you'll see a list on the left side showing all available resources.



Now select the 'Dialog' resource, and look at 1003. You'll notice it's the Run box.



We'll start by adding a bitmap to place on our Run box. Go to 'Bitmap' and select 'Action', 'Add a new Resource'.



Here you select a bmp file and give it the name RUNGFX. You can get the bmp I used here: Runbox.bmp.



Press 'Add Resource' and now you can see it's added.



Now we'll go back to the 'Dialog' 1003, 1033 and replace the existing script with this one:

1003 DIALOGEX 0, 0, 188, 83
STYLE DS_FIXEDSYS | DS_MODALFRAME | DS_NOIDLEMSG | DS_CONTEXTHELP | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION ":: run ::"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "MS SHELL DLG"
{
CONTROL "", 12298, COMBOBOX, CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_DISABLENOSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 3, 53, 181, 198
CONTROL "R", 12306, BUTTON, BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_DISABLED | WS_TABSTOP, 21, 90, 1, 1
CONTROL "Run", 1, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 3, 67, 59, 14 , 0x00020000
CONTROL "Cancel", 2, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 63, 67, 59, 14 , 0x00020000
CONTROL "Find", 12288, BUTTON, BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 124, 67, 59, 14 , 0x00020000
CONTROL "RUNGFX", 0, STATIC, SS_BITMAP | WS_CHILD | WS_VISIBLE | WS_GROUP, 3, 3, 181, 48
}


To make your life easier, and to be sure you don't make a mistake due to your browser word wrapping the script, copy paste it from this text file: runscript.txt.

When you have replaced it you press 'Compile Script'.



And now you'll see the preview has changed to our new runbox!



Press CTRL+S to save the modified dll.

The last thing we need to do is to use Replacer to replace our existing shell32.dll in SYSTEM32 with our new file. You can't just copy it in there because Windows File Protection would replace it with a backup. Therefore we use Replacer, just follow the instructions Replacer shows and you'll be fine. Replacer also prompts you to make a backup, make sure you make one, you never know what can go wrong.

When the file is replaced (Replacer replaces the file itself along with the one in dllcache) you have to reboot and when everything went fine, you now have a new Run box! A really good looking one, different from everyone else.

Some notes:
If you move the controls around, make sure to not place any above or behind the bitmap, it could give problems. Also don't include a bitmap bigger then your box. Make sure you leave a bit of spaces from the edges, when you put the bitmap against the border, it won't show up.
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
Today I took the theoretical drivers license exam. And I passed it! With 0 mistakes! :)

The only thing that's left now is the practical exam. But that's still a couple of months away.
 
This post has been imported from the old blog and has not yet been converted to the new syntax yet.
For everyone who received .NET Magazine #5, there's an article in there at page 53 about cleaning up your code.

Jan Tielens mentions a ConvertToProperties macro, which is really sweet!

But there has been a printing error or something, the link went missing on page 55 in the bottom box. (http://xxx/...)

So, here is it: Create Property Macro for C#.

The version on the site doesn't correspond to the screenshots, it doesn't use mVariable (any more?), but replaces it with _variable (which I prefer).

Be sure to get this macro! It saves you a lot off time ;)