> hModuleが「モジュールハンドル」らしいんですが…意味がわかりません。orz
モジュールハンドルというのはモジュールのハンドル(操作するための一意的なID)のこと
です。
この場合のモジュールとは実行モジュール(実行ファイル)のことです。
hModuleをNULL(0)にした場合は、実行中の自分(つまりGetModuleFileNameを呼び出した
実行モジュール)を指します。
それ以外ではLoadLibraryやGetModuleHandleなどを使用して任意のモジュールハンドルを
取得する方法があります。
以下は蛇足。
Windowsは内部的に各モジュールハンドルのモジュール呼び出し回数をカウントしており、
LoadLibraryはメモリ上に指定したモジュールが既にあった場合はそのモジュールの
モジュールハンドルを取得し、なければモジュールをメモリに読み込んでから取得します。
LoadLibraryを使用した場合はFreeLibraryで開放しなければいけません。
(LoadLibraryでカウントを+1し、FreeLibraryで-1して、カウントが0になるとメモリから
モジュールが開放されます)
GetModuleHandleはメモリ上のモジュールハンドルを取得し(メモリ上にモジュールがない
場合は失敗する)、カウントを変更しません。
その為、FreeLibraryも不要(必要でない限り、問題が起こるので呼び出してはならない)
です。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_loadlibrary.asp
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdllpro/html/_win32_getmodulehandle.asp