2009-10-18から1日間の記事一覧
Windows Vista ならびに Windows 2008 からは、セキュリティが強化されたためウインドウメッセージを使用した処理がOSによってフィルタリングされるケースがあります。 この問題は、少しこみいっていてSendMessageやPostMessageはフィルタリングされた場合で…
LoadLibraryとFreeLibraryを使用したDLLの動的ロードは以下の記事で説明しました。http://d.hatena.ne.jp/tekk/20091018/1255880682LoadLibraryとFreeLibraryは、DLLの実行時ロードと解放をそれぞれ担当するAPIですが、呼び出した際にいきなりDLLを読みこん…
Win32APIを使用する場合はDLLImport属性を付けて使用したいAPIを事前に定義して使います。DllImport属性は使用したいDLLとのリンクがコンパイル時に設定されるためアプリ起動時にリンクを解決しようとします。(リンクを解決するというのは、DLLをメモリ上に…
Win32 APIを実行したあとでエラー情報を取得するには次の2段階の処理を経て取得します。(Win32APIは失敗しても例外は発生しません)1.Marshal.GetHRForLastWin32Errorでエラー情報のHRESULT値を取得します。 2.Marshal.GetExceptionForHRでHRESULT値から例…