VC中有直接获得当前进程名的函数吗

VC中有直接获得当前进程名的函数吗,第1张

VC中使用GetModuleFileName()函数来获铅猜取当前应用程序路径。具体实现代码如下:

CString

g_AppPath

char

cIniFileName[MAX_PATH]

GetModuleFileName(NULL,cIniFileName,sizeof(cIniFileName))

char

*

p

=

strrchr(cIniFileName,'\\槐弊型')

g_AppPath.Format("%s",cIniFileName)

其中MAX_PATH是系统的一个

宏定义

,表示数组最长卜衡长度,为260。

//获取对应进程名的ID

DWORD GetSpecifiedProcessId(const char *pszProcessName)

{

DWORD id

//获得系统快照句柄 (通俗的讲, 就是得到当前的所有进程)

HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0)

PROCESSENTRY32 pInfo//用于保存进程信衡胡息的一个数据结构

pInfo.dwSize = sizeof(pInfo)

//从快照中获取进镇棚程列表

Process32First(hSnapShot, &pInfo) //从第一个进程开始循环

do

{

//这里的 pszProcessName 为你的进程咐旅拦名称

if(strcmp(strlwr(_strdup(pInfo.szExeFile)), pszProcessName) == 0)

{

id = pInfo.th32ProcessID

break

}

}while(Process32Next(hSnapShot, &pInfo) != FALSE)

return id//id 就是你要的进程PID 了..

}

这个代码是我从网上复制过来的.. 但是注释是我给加的.

以后别弄个0 分放这里.. 真想扁你.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12492295.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存