设为NULL的话,为取Porcess的FileName.
应该HMODULE hMod=GetModuleHandle(),
GetModuleFileName(hMod,...)

解决方案 »

  1.   

    GetModuleHandle的参数为dll的名字
      

  2.   

    HMODULE GetModuleHandle(LPCTSTR lpModuleName)
      

  3.   

    调用GetModuleFileName的前提是你必须首先加载了这个DLL。像KERNEL32之类的模块,每个合法程序必然加载(因为它至少要调用ExitProcess),这样可以直接用GetModuleHandle("KERNEL32.DLL")取到其句柄,然后调用GetModuleFileName即可。对于其他一些DLL,如果你的程序启动时没有被PE Loader自动加载,那么你必须用LoadLibrary显式加载,然后将其返回的句柄传给GetModuleFileName。事实上,直接用ToolHelp的Module32First、Module32Next可能效果更加理想。
      

  4.   

    HANDLE h = LoadLiarbry(...);
    给份!