如何关闭系统中指定的进程。

Posted on 2007-09-24 16:09  啊夏  阅读(481)  评论(0编辑  收藏  举报
     今天在手机上调用一个第3方的视频播放器,结果那个播放器要用网站链接打开。但是我又不太清楚他的入口参数,于是,就直接调用了手机的IE打开那个播放链接。

     但是视频播放完了后手机进程里面会多个IE的进程,于是就想办法干掉他了。呵呵

     采用枚举系统进程然后杀死的方法。直接帖代码了。

HANDLE   snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,   0)   ;   
    
if(snapshot   ==   NULL)   
    
return   0;   
    SHFILEINFO   shSmall;   
    PROCESSENTRY32   processinfo   ;   
    processinfo.dwSize
=sizeof(processinfo)   ;   
    BOOL   status
=Process32First(snapshot,&processinfo)   ;   
    
while   (status)   
    {   
     ZeroMemory(
&shSmall,   sizeof(shSmall));   
     SHGetFileInfo(processinfo.szExeFile,
0,&shSmall,sizeof(shSmall),SHGFI_ICON|SHGFI_SMALLICON);   
     
     
if(wcscmp(_T("iexplore.exe"),processinfo.szExeFile) == 0)   
     {   
      DWORD   dwProcessID
=processinfo.th32ProcessID;   
      HANDLE   hProcess
=::OpenProcess(PROCESS_TERMINATE,FALSE,dwProcessID);   
      ::TerminateProcess(hProcess,
0);   
      CloseHandle(hProcess);   
     }   
        status   
=   Process32Next   (snapshot,   &processinfo)   ;   
    } 

需要个头文件 : #include <Tlhelp32.h>
需要个lib: Toolhelp.lib

后记: 突然发现如果把这段代码写进一个随系统自动启动的程序,然后定时在星期5早上8点干掉手机里面的NK.EXE 就可以让手机莫名地关机重启了。呵呵。