• windows API关闭exe


    #include <Windows.h>
    #include <Tlhelp32.h>
    #include <stdio.h>
    #include <winnt.h>
    
    void terminateSuwellReader(const char* str)
    {
        HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    
        //现在我们获得了所有进程的信息。
        //将从hSnapShot中抽取数据到一个PROCESSENTRY32结构中
        //这个结构代表了一个进程,是ToolHelp32 API的一部分。
        //抽取数据靠Process32First()和Process32Next()这两个函数。
        //这里我们仅用Process32Next(),他的原形是:
        //BOOL WINAPI Process32Next(HANDLE hSnapshot,LPPROCESSENTRY32 lppe);
        //我们程序的代码中加入:
        PROCESSENTRY32* processInfo=new PROCESSENTRY32;
        // 必须设置PROCESSENTRY32的dwSize成员的值 ;
        processInfo->dwSize=sizeof(PROCESSENTRY32);
        int index=0;
        //这里我们将快照句柄和PROCESSENTRY32结构传给Process32Next()。
        //执行之后,PROCESSENTRY32 结构将获得进程的信息。我们循环遍历,直到函数返回FALSE。
        int ID = 0;
        while(Process32Next(hSnapShot,processInfo)!=FALSE)
        {
            index++;
            int size=WideCharToMultiByte(CP_ACP,0,processInfo->szExeFile,-1,NULL,0,NULL,NULL);
            char *ch=new char[size+1];
            if(WideCharToMultiByte(CP_ACP,0,processInfo->szExeFile,-1,ch,size,NULL,NULL))
            {
                //使用这段代码的时候只需要改变"cmd.exe".将其改成你要结束的进程名就可以了。
                if(strstr(ch,str))
                {
                    ID = processInfo->th32ProcessID;
                    HANDLE hProcess;
                    // 现在我们用函数 TerminateProcess()终止进程,这里我们用PROCESS_ALL_ACCESS
                    hProcess=OpenProcess(PROCESS_ALL_ACCESS,TRUE,ID);
                    TerminateProcess(hProcess,0);
                    CloseHandle(hProcess);
                }
            }
        }
        CloseHandle(hSnapShot);
        delete processInfo;
    }
    
    int main(){
        terminateSuwellReader("SuwellReader.exe");
        return 0;
    }
    

      

  • 相关阅读:
    art-template学习(一)之特性和安装
    Velocity学习(四)之判断是否为空以及为什么要使用{}来明确标识变量
    Velocity学习(三)之 ${} 和$!{}、!${}区别
    sqlcode、sqlerrm
    批量删除存储过程
    cursor 与refcursor及sys_refcursor的区别 (转载)
    分享最近写的几个存储过程
    中国人寿数据库死锁处理
    合理计划 dictionary cache 大小
    表空间、数据文件对应关系
  • 原文地址:https://www.cnblogs.com/qianxunslimg/p/14351941.html
Copyright © 2020-2023  润新知