知道句柄怎么得到他的ProcessID?

解决方案 »

  1.   

    DWORD GetWindowThreadProcessId(
      HWND hWnd,             // handle to window
      LPDWORD lpdwProcessId  // process identifier
    );
      

  2.   

    咿,这个得到的ProcessID和任务管理器显示的PID不一样,
    后者怎么得到?
      

  3.   

    HANDLE hSnapShot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0 );
    PROCESSENTRY32 procentry=sizeof(PROCESSENTRY32);
    BOOL bFlag=Process32First( hSnapShot, &procentry ) ;
    while( bFlag )
    {
          if(stricmp(procentry.szExeFile,"你的程序名")==0)
              processid=procentry.th32ProcessID;    //找到
          bFlag=Process32Next(hSnapShot,&procentry);
    }
    一个程序可能有几个实例同时运行,所以可能同时找到几个ID。