C/C++ 判断进程是否存在
  TEZNKK3IfmPf 5天前 13 0
#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()调用失败!\n"); 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("存在\n"); } else { printf("不存在\n"); } return 0; }
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 5天前 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年04月19日   36   0   0 进程内存
  TEZNKK3IfmPf   5天前   11   0   0 C++
  TEZNKK3IfmPf   2024年04月19日   41   0   0 进程
  TEZNKK3IfmPf   5天前   12   0   0 指针C++
  TEZNKK3IfmPf   2024年04月19日   45   0   0 进程c语言
TEZNKK3IfmPf