CString CConfigDlg::GetModulePath()
{
TCHAR szPath[MAX_PATH] = { 0 };
HMODULE hModule = NULL;
GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,
(LPCSTR)"dsada", //可以是任何函数,全局变量等的地址 这里参考了 wr960204(武稀松)的专栏
&hModule);
if (GetModuleFileName(hModule,szPath,MAX_PATH)) //绝对路径。若第一个参数为NULL,返回程序所在PATH
{
PathRemoveFileSpec(szPath); //除去了文件名字,只留下该项目生成DLL文件所在的路径名
// MessageBox(szPath);
}
else
{
AfxMessageBox("插件不存在");
}
CString strPath = szPath;
return strPath;
//原来的方法
// CHAR szModuleFileName[MAX_PATH] = { 0 }; //MAX_PATH 260
// GetModuleFileName( AfxGetApp()->m_hInstance, szModuleFileName, 260 );
// AfxMessageBox(szModuleFileName);
// CString strModulePath = szModuleFileName;
// int nPos = strModulePath.ReverseFind( TEXT('\\'));
// strModulePath = strModulePath.Left( nPos);
// return strModulePath;
}