Using raw Windows messages in Forms application is really bad thing. Do you know that accurately written Forms application will run not on just Windows, but on many platforms without recompilation (under Mono)? A single use of HWMD will spoil this wonderful feature immediately and compromise potential compatibility with future platforms. Avoid it by all means!
Pure .NET solutions are nearly always possible. Do this:
myForm.WindowState = WindowState.Minimized;
or, if you do it in the same class,
this.WindowState = WindowState.Minimized;
—SA