MFC VC++ 根据文件名获取程序的Pid

本文介绍了一种在Windows环境下通过输入文件名来获取程序PID的方法,并提供了完整的C++实现代码。利用该方法,用户可以方便地对指定程序进行操作,如关闭进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:PC Win7 VS

VC++ 、MFC

使用,输入文件名即可获取程序的pid,进而可以对程序进行操作,比如关闭Porcess等。

头文件:

#include <TlHelp32.h>

 

DWORD *****::GetProcessIdFromName(LPCTSTR name) 
{ 
    PROCESSENTRY32 pe; 
    DWORD id = 0; 
    //请参考msdn,主要是获得windows当前的任务的一个snap(快照)。 
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); 
    pe.dwSize = sizeof(PROCESSENTRY32); 
    //检索上一步获得的windows的快照的每个进程。First ,next 函数 
    if(!Process32First(hSnapshot,&pe)) 
        return 0; 
    CString name1,name2; 

    do 
    { 
        pe.dwSize = sizeof(PROCESSENTRY32); 
        name1=pe.szExeFile; 
        name2=name; 
        name1.MakeUpper(); 
        name2.MakeUpper(); 
        //其中参数pe里面有进程信息如name,即在任务管理器里面看到的名字,如qq.exe 
        if(strcmp(name1.GetBuffer(0),name2.GetBuffer(0))   ==   0) 
        { 
            //记下这个ID,也及时我们要得到的进程的ID 
            id   =   pe.th32ProcessID; 
            break; 
        } 

        if(Process32Next(hSnapshot,&pe)==FALSE)  
            break; 
    } while(1); 
    CloseHandle(hSnapshot); 
    return id; 
} 

 

转载于:https://www.cnblogs.com/fudong071234/p/6422697.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值