Windows OSでは、ユーザーからの入力や操作はすべてメッセージ(以下、Windowsメッセージ)として処理される。例えばマウス・カーソルが移動された場合には「WM_MOUSEMOVE」というIDのWindowsメッセージがウィンドウに送られるため、プログラムではユーザーによるマウス・カーソルの移動を知ることができる。
Protected Overrides Sub WndProc(ByRef m As Message)
MyBase.WndProc(m)
If m.Msg = &H84 Then ' &H84 : WM_NCHITTEST
If m.Result = CType(20, IntPtr) Then ' 20 : HTCLOSE
m.Result = CType(0, IntPtr) ' 0 : HTNOWHERE
End If
End If
End Sub
* WinUser.hファイルはVisual Studio 2005 Professional Editionなどには含まれている。それ以外のエディションを使用している場合は、「Microsoft Download Center: Windows Server 2003 R2 Platform SDK Web Install」からプラットフォームSDK(PSDK-x86.exe)の[Microsoft Windows Core SDK]−[Build Environment]−[Build Environment (x86 32-bit)]をインストールすれば、インストールしたプラットフォームSDKのIncludeフォルダ内に配置されるはずだ。また、MSDNでは公開されていないが、Googleなどで検索すれば、実際にそのファイルの内容を公開しているサイトが見つかる。