获取本进程的进程名
Win7的Psapi.dll已提供了GetProcessImageFileName()和QueryFullProcessImageName(),
XP的PSapi没有这个接口,可以用以下代码完成相同的功能。
BOOL GetProcessName(CString &strProcessName) { HANDLE hProcess = GetCurrentProcess(); HMODULE aryModule[1024]; DWORD ncbSize; BOOL bSuccess = EnumProcessModules(hProcess, aryModule, 1024*sizeof(HMODULE), &ncbSize); if(!bSuccess) return FALSE; TCHAR szModuleName[1024]; DWORD dwLen = GetModuleFileName(aryModule[0], szModuleName, 1024); if(0 != dwLen) { CString strImagePath = szModuleName; int nRight = strImagePath.GetLength()-strImagePath.ReverseFind('\\')-1; strProcessName = strImagePath.Right(nRight); return TRUE; } return FALSE; }