1. 程式人生 > >VC 通過程序ID獲取完整路徑

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; }