VC 通過程序ID獲取完整路徑
BOOL GetProcessPathByPId( const DWORD dwProcessId, TCHAR *cstrPath ) { HANDLE hProcess = NULL; BOOL bSuccess = FALSE; hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ , FALSE, dwProcessId ); do { if ( NULL == hProcess ) { break; } TCHAR szPath[MAX_PATH + 1] = {0}; HMODULE hMod = NULL; DWORD cbNeeded = 0; if( FALSE == EnumProcessModules( hProcess, &hMod, sizeof( hMod ), &cbNeeded ) ) { break; } if ( 0 == GetModuleFileNameEx( hProcess, hMod, szPath, MAX_PATH ) ) { break; } wcscpy(cstrPath ,szPath); bSuccess = TRUE; } while( 0 ); if ( NULL != hProcess ) { CloseHandle( hProcess ); hProcess = NULL; } return bSuccess; }