void CListprocessDlg::OnOK() 
{
m_list.DeleteAllItems();
while(m_list.DeleteColumn(0));
m_list.ModifyStyle(0,LVS_REPORT);
m_list.InsertColumn(0,"进程ID",LVCFMT_LEFT,80);
m_list.InsertColumn(1,"进程名称",LVCFMT_LEFT,150);
HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);

PROCESSENTRY32* info=new PROCESSENTRY32;
info->dwSize=sizeof(PROCESSENTRY32);
int i=0;
if(Process32First(handle,info))
{
if(GetLastError()==ERROR_NO_MORE_FILES )
{
AfxMessageBox("No More Process");
}
else{
CString id;
id.Format("%d",info->th32ProcessID);

m_list.InsertItem(i,id);
m_list.SetItemData(i,info->th32ProcessID);
id.Format("%s",info->szExeFile);
m_list.SetItemText(i,1,id);
i++;

while(Process32Next(handle,info)!=FALSE)
{
id.Format("%5d",info->th32ProcessID);

m_list.InsertItem(i,id);
m_list.SetItemData(i,info->th32ProcessID);
id.Format("%s",info->szExeFile);
m_list.SetItemText(i,1,id);
i++;
}
}
}
CloseHandle(handle);
//CDialog::OnOK();
}


void CListprocessDlg::OnKill()
{
POSITION pos;
pos=m_list.GetFirstSelectedItemPosition();
int select=m_list.GetNextSelectedItem(pos);
HANDLE h=OpenProcess(PROCESS_ALL_ACCESS,TRUE,m_list.GetItemData(select));
if(h!=NULL)
{
TerminateProcess(h,0);
}
OnOK();
}