《VC++课程设计俺例精选》里面的一个例子,运行出错,求助

killme2008 2005-03-18 01:51:25
这本书的第2版的第3个例子,就是写一个相当于window任务管理器里面的进程管理器一样的,一个按钮获取进程,一个按钮终止选择的进程,我按上面的介绍写的,编译同过,运行老出错,信息是Debug Assertion Failed,小弟接触VC++不久,这是什么原因?有这本书的帮帮忙,大概代码如下
void CB14Dlg::OnGetProcess() //获得进程并显示在List
{
// TODO: Add your control notification handler code here
HANDLE Snapshot;
Snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
PROCESSENTRY32 processListStr;processListStr.dwSize=sizeof(PROCESSENTRY32);
BOOL return_value;
return_value=Process32First(Snapshot,&processListStr);
m_showlist.DeleteAllItems();
int i=0;
while(return_value)
{
m_showlist.InsertColumn(i,processListStr.szExeFile,0);
CString s;
s.Format("d%",processListStr.cntThreads);
m_showlist.SetItemText(i,1,s);
s.Format("d%",processListStr.th32ParentProcessID);
m_showlist.SetItemText(i,2,s);
s.Format("d%",processListStr.pcPriClassBase);
m_showlist.SetItemText(i,3,s);

int memory=processListStr.cntThreads;
m_ProcessIndex[i]=processListStr.th32ProcessID;
return_value=Process32Next(Snapshot,&processListStr);
i++;
}
}
void CB14Dlg::OnStopProcess() //终止某个进程
{
// TODO: Add your control notification handler code here
POSITION pos=m_showlist.GetFirstSelectedItemPosition();
int currentSelect=m_showlist.GetNextSelectedItem(pos);
if(currentSelect>0)
{
CString FileBuffer;
FileBuffer=CString(TEXT("确实要终止进程")+m_showlist.GetItemText(currentSelect,0)+TEXT("?"));
if(AfxMessageBox(FileBuffer,MB_OKCANCEL,0)==IDOK)
{
HANDLE ProcessHandle;
ProcessHandle=OpenProcess(PROCESS_ALL_ACCESS,FALSE,m_ProcessIndex[currentSelect]);
if(ProcessHandle)
{
TerminateProcess(ProcessHandle,0);
AfxMessageBox("指定进程已经终止");
OnGetProcess();
}
else
{
AfxMessageBox("系统不允许终止进程");}
}
}
else
{
AfxMessageBox("请先选择一个需要终止的进程",MB_OK);
}
}
...全文
88 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
killme2008 2005-03-19
  • 打赏
  • 举报
回复
OK,我试试
老夏Max 2005-03-18
  • 打赏
  • 举报
回复
debug吧,看看到底在什么地方错了!
oyljerry 2005-03-18
  • 打赏
  • 举报
回复
单步调试,跟踪看具体哪里出错

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧