当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > C++ > 系统控制 > 正文

如何关闭除自己程序外的所有其他应用程序

http://www.zk168.com.cn  招考学习网 2006-4-11 6:10:04
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
获得当前激活的进程:
1:包含头文件tlhelp32.h
2:.cpp如下:

    ListView2->Items->Clear();
    TListItem *mItem;
    AnsiString ExeFile;
    Pointer pt,pt2;
    unsigned int s;
    DWORD size,size2;
    HANDLE snapshot;
    PROCESSENTRY32 processinfo;
    processinfo.dwSize = sizeof(processinfo);
    snapshot =
    CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    if (snapshot==NULL) return;
    bool flag = Process32First (snapshot,&processinfo);
    while (flag)
      {
      mItem=ListView2->Items->Add();
      ExeFile=AnsiString(processinfo.szExeFile);
      mItem->Caption=ExeFile;
      mItem->SubItems->Add(IntToStr(int(processinfo.th32ParentProcessID)));
      mItem->SubItems->Add(IntToHex(int(processinfo.th32ProcessID),8).UpperCase());
      size=GetFileVersionInfoSize(ExeFile.c_str(),&size2);
      pt=malloc(size);
      GetFileVersionInfo(ExeFile.c_str(),NULL,size,pt);
      if(VerQueryValue(pt,"\\StringFileInfo\\040904E4\\FileVersion",&pt2,&s))
        mItem->SubItems->Add(PChar(pt2));
      if(VerQueryValue(pt,"\\StringFileInfo\\040904E4\\CompanyName",&pt2,&s))
        mItem->SubItems->Add(PChar(pt2));
      if(VerQueryValue(pt,"\\StringFileInfo\\040904E4\\FileDescription",&pt2,&s))
        mItem->SubItems->Add(PChar(pt2));
      free(pt);
      flag = Process32Next(snapshot,&processinfo);
      }

要杀除一个进程,必须获得该进程的父线成ID(避免仅仅杀除子进程)。

    if (ListView2->SelCount==0)
      {
      MessageBox(Handle,"请首先选择一个进程!","中止进程",MB_OK|MB_ICONWARNING);
      return;
      }
    int pPid=StrToInt(ListView2->Selected->SubItems->Strings[0]);
    HANDLE ps = OpenProcess(1,false,pPid);
    if(ps&&TerminateProcess(ps,-9))
      {
      MessageBox(Handle,"成功中止进程!","中止进程",MB_OK|MB_ICONINFORMATION);
      }
    else
      MessageBox(Handle,"中止进程失败!","中止进程",MB_OK|MB_ICONWARNING);
    ViewProcess();

-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>