GetModulePath()

void GetModulePath(IN HMODULE hModule,IN OUT LPWSTR lpPathBuffer,IN DWORD nSize)
{
	wchar_t *p,*q;
	p = calloc(nSize,sizeof(char));
	GetModuleFileName(hModule,p,nSize);
	q = p;
	while(wcschr(q,'\\'))
	{
	q = wcschr(q,'\\');
	q++;
	}
	*--q = '\0';
	wcscpy_s(lpPathBuffer,nSize,p);
}

 
  

为了使代码更强壮,使用如下函数作为替代:GetModuleFileName( ) 和 PathRemoveFileSpec( ) 。

	TCHAR szPath[MAX_PATH];
	if(GetModuleFileName(NULL, szPath, MAX_PATH))
	{
		PathRemoveFileSpec(szPath);
	}
	else
	{
		//异常处理
	}

另外还有,
	strFilePath = fileDlg.GetPathName();
	strFilePath = strFilePath.Left(strFilePath.ReverseFind('\\'));

你可能感兴趣的:(综合,path,null)