zoukankan      html  css  js  c++  java
  • C语言判断进程是否存在

    #include <windows.h>
    #include <tlhelp32.h>    //进程快照函数头文件
    #include <stdio.h>
    
    bool getProcess(const char *procressName)                //此函数进程名不区分大小写
    {
        char pName[MAX_PATH];                                //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
        strcpy(pName,procressName);                            //拷贝数组
        CharLowerBuff(pName,MAX_PATH);                        //将名称转换为小写
        PROCESSENTRY32 currentProcess;                        //存放快照进程信息的一个结构体
        currentProcess.dwSize = sizeof(currentProcess);        //在使用这个结构之前,先设置它的大小
        HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
    
        if (hProcess == INVALID_HANDLE_VALUE)
        {
            printf("CreateToolhelp32Snapshot()调用失败!
    ");
            return false;
        }
    
        bool bMore=Process32First(hProcess,&currentProcess);        //获取第一个进程信息
        while(bMore)
        {
            CharLowerBuff(currentProcess.szExeFile,MAX_PATH);        //将进程名转换为小写
            if (strcmp(currentProcess.szExeFile,pName)==0)            //比较是否存在此进程
            {
                CloseHandle(hProcess);                                //清除hProcess句柄
                return true;
            }
            bMore=Process32Next(hProcess,&currentProcess);            //遍历下一个
        }
    
        CloseHandle(hProcess);    //清除hProcess句柄
        return false;
    }
    
    int main()
    {
        
        if (getProcess("qq.exe"))
        {
            printf("存在
    ");
        }
        else
        {
            printf("不存在
    ");
        }
        return 0;
    }
  • 相关阅读:
    视频监控,硬盘录像机安装
    路由器、集线器和三层交换机有何不同
    九选六?九选三?
    Access数据转换为XML格式
    硬盘录像显示器显示画面有抖动感
    硬盘录像机开机监视一段时间后,显示器出现屏幕保护或者黑屏
    庆祝还活着
    天津之旅
    武汉之旅
    从今天起~~~
  • 原文地址:https://www.cnblogs.com/LyShark/p/9158612.html
Copyright © 2011-2022 走看看