http://www.classicshell.net/tutorials/b ... orial.html
The button must not be square. A custom start button requires an image that contains 3 distinct parts - one for the normal state of the button, one for the hot state (when the mouse is over the button), and one for the pressed state. The 3 parts must be the same size.
By default the width of the start button equals the width of the image. The height of the button is the height of the image divided by 3. You can scale the image by overriding the width of the button from the Classic Shell settings. The height will be adjusted to preserve the aspect ratio.
The image must be saved in either PNG or BMP format (including 32-bit BMP files). For best results use an image editor that supports transparency, like Photoshop, Gimp or Paint .NET.