After playing around a bit, I found that the same theme can work on both Windows 7 and Windows 8. 
 
Notes for Windows 8: New for Win8 is the ability to use a panoramic image-- Windows will span the image across multiple monitors. Really cool! Win8 themes also have the ability to automatically define a color scheme, based on the colors of the wallpaper, and apply the color scheme on the fly.
 
Notes for Windows 7: The theme works best if you have a single monitor, or the wallpaper image is the same size as all monitors. A panoramic wallpaper image will even work on Windows 7 when tilemode is turned on and the image is the same size as the primary display. (It appears to display on the first monitor starting at the upper left corner or the image, and display on the second monitor starting at the upper right corner of the image.)
 
Notes for Windows Vista: The same theme will even work on Windows Vista, with a few caveats.
  • The wallpaper images can't be PNG; export them to JPG and they will work.
  • Vista doesn't have a built-in way to change the wallpaper on a timer. If you want it to change the wallpaper, use a wallpaper changer (aka background switcher), such as http://johnsadventures.com/software/backgroundswitcher/ (this one even has a smooth fade transition).
 
Notes for Windows XP: I didn't try it, but I think XP theme files are totally different.
 
Normally, a theme is designed in the Windows 8 Personalization control panel. When you save it from there, it is packaged into a CAB file with a .deskthemepack extension. So you can rename it to .cab and extract the .theme file from it, for editing. In my case, I am installing parts of this theme to various subfolders of the Windows directory. This places the theme under the "Installed Themes" grouping within the Personalization control panel (i.e. the theme chooser window).
%SystemRoot%\Branding\<BrandLogo>.png (240X80)
%SystemRoot%\Web\Wallpaper\<ThemeName>\*.png
%SystemRoot%\Resources\Themes\<ThemeName>.theme
%ProgramData%\Microsoft\User Account Pictures\*.png (Vista: 128x128)
 
There are a few differences between a Windows Vista/7 and Windows 8 theme. I am just going to show the ones that apply to our task at hand. 
 
[Theme]
; ...snip....
; I'm not sure what this is used for, but commenting it out doesn't seem to do any harm
;ThemeId={74DCED71-1D8E-44CE-9422-4713809E000C}
 
[Control Panel\Desktop]
; ...snip....
; Windows 7
TileWallpaper=0
WallpaperStyle=10
; Windows 8
MultimonBackgrounds=0
PicturePosition=4
 
[VisualStyles]
; ...snip....
; Windows 8
AutoColorization=1
 
[MasterThemeSelector]
; Windows 7 (themes with this identifier still work on Windows 8)
MTSM=DABJDKT
; Windows 8 (themes with this idendifier do NOT work on Win7, so we'll comment it out
;MTSM=RJSPBS
 
Tags

Detecting MouseEnter and MouseLeave in a control that has lots of children controls (.Net)

Seems like I have been through this before. What I want to do is hide and show something, depending on whether the mouse is inside of a certain area. For instance, I have a container of some sort with lots of controls on it. When the mouse is anywhere inside of the container, I want a link to be visible. I can't simply use the MouseEnter/MouseLeave events on the container, because MouseLeave is triggered when the mouse enters a child control and the MouseEventArgs don't say anything about what control is being entered.

Say Goodbye to Windows 8's Start Screen

 

All of the people I've talked to who don't like Windows 8, don't like it because of the new start screen. You know, the tiled "apps" screen. A.K.A. "Metro" screen.

Maybe that sort of thing makes sense on a touchscreen device. Not on a desktop computer or standard laptop.

This free software brings back your start menu, like in Windows 7: ClassicShell. If you set it to start in desktop mode, you can say goodbye to the start screen! Here's how.