blog

枪手亨利

博客园 首页 新随笔 联系 订阅 管理

用OnFresh()对当前进程表进行刷新

void OnFresh()
{
 m_number=0;
 m_wndList.ResetContent();
 HANDLE hSnapshot;
 hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
 PROCESSENTRY32 pe;
 Process32First(hSnapshot,&pe);
 do{
  int index=m_wndList.AddString(pe.szExeFile);
  m_wndList.SetItemData(index,pe.th32ProcessID);
  m_number++;
 }while(Process32Next(hSnapshot,&pe));
 CloseHandle(hSnapshot);
 GetDlgItem(IDC_STOP)->EnableWindow(FALSE);
 UpdateData (FALSE);
}

用void OnStop()对指定进程的停止操作

void CSHUTDOWNDlg::OnStop()
{
 int index=m_wndList.GetCurSel();
 DWORD data=m_wndList.GetItemData (index);
 HANDLE hProcess;
 hProcess=OpenProcess(PROCESS_TERMINATE,FALSE,data);
 if(hProcess)TerminateProcess(hProcess,0);
 else MessageBox("该程序可能已被关闭");
 Sleep(500);
 OnFresh(); 
}

posted on 2005-11-20 17:52  henry  阅读(163)  评论(0)    收藏  举报