C语言结束进程

最近做的一个项目中,运行结束时总会有进程残留,特地上网找了一份结束进程的代码,现在贴出来给大家参考:


BOOL KillProcessFromName(CString strProcessName)

{

        //创建进程快照(TH32CS_SNAPPROCESS表示创建所有进程的快照)

        HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

        //PROCESSENTRY32进程快照的结构体

        PROCESSENTRY32 pe;

        //实例化后使用Process32First获取第一个快照的进程前必做的初始化操作

        pe.dwSize = sizeof(PROCESSENTRY32);

        //下面的IF效果同:

        //if(hProcessSnap == INVALID_HANDLE_VALUE)  无效的句柄

        if (!Process32First(hSnapShot, &pe))

        {

                return FALSE;

        }

        //将字符串转换为小写

        strProcessName.MakeLower();

        //如果句柄有效  则一直获取下一个句柄循环下去

        while (Process32Next(hSnapShot, &pe))

        {

                //pe.szExeFile获取当前进程的可执行文件名称

                CString scTmp = pe.szExeFile;

                //将可执行文件名称所有英文字母修改为小写

                scTmp.MakeLower();

                //比较当前进程的可执行文件名称和传递进来的文件名称是否相同

                //相同的话Compare返回0

                if (!scTmp.Compare(strProcessName))

                {

                        //从快照进程中获取该进程的PID(即任务管理器中的PID)

                        DWORD dwProcessID = pe.th32ProcessID;

                        HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessID);

                        ::TerminateProcess(hProcess, 0);

                        CloseHandle(hProcess);

                        return TRUE;

                }

                scTmp.ReleaseBuffer();

        }

        strProcessName.ReleaseBuffer();

        return FALSE;

}

这个是通过进程名来结束进程的,希望对大家有帮助。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 129,366评论 18 137
  • ## 可重入函数 ### 可重入性的理解 若一个程序或子程序可以安全的被并行执行,则称其为可重入的;即当该子程序正...
    夏至亦韵阅读 422评论 0 0
  • 题目要求: 设计和实现一个软件,其功能如下:1、显示所有的进程列表;2、选中一个进程,显示该进程的所有IAT中的函...
    yingtaomj阅读 910评论 1 1
  • 很实用的编程英语词库,共收录一千五百余条词汇。 第一部分: application 应用程式 应用、应用程序app...
    春天的蜜蜂阅读 1,033评论 0 22
  • 转载自:http://www.cnblogs.com/txw1958/archive/2013/01/19/286...
    php_bruce阅读 1,406评论 1 5
  • 转载自http://zh.wikihow.com/%E8%A7%A3%E9%94%81%E5%8A%A0%E5%A...
    成江海阅读 12,288评论 1 9
  • 1 今天得知昨天武汉法院对武汉某知名高校化学教师判处了无期徒刑,是因为他制造了将近200公斤的毒品,一种称为“丧尸...
    红枫纱羽阅读 347评论 6 5
  • 3、4节有课,所以起来以后先逛朋友圈,再翻翻QQ动态,看到假期补习班某个五年级的孩子的动态,写着“每个人生下...
    半Summer夏阅读 133评论 0 0
  • 喵小姐渴望温暖和依靠,却不懂得怎么去爱,和灰先生在一起后,依旧任性高傲,灰先生一直很包容,但因为喵小姐的自傲和心性...
    糖小猫阅读 84评论 0 0