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

 我来答
iPCfan
2015-12-09 · 超过17用户采纳过TA的回答
知道答主
回答量:60
采纳率:100%
帮助的人:34.2万
展开全部
有啊,很简单的。

TCHAR sz[100];

GetModuleBaseName(GetCurrentProcess(),NULL,sz,100);

头文件是psapi.h,根本不像你采纳的答案那么复杂
百度网友e34e359
推荐于2018-03-22 · TA获得超过130个赞
知道答主
回答量:49
采纳率:100%
帮助的人:14.9万
展开全部
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。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ljt502032774
推荐于2016-10-13 · 超过35用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:59.4万
展开全部
int GetProcess()
{

HANDLE hToken ;
int strLen = 0 ;
int process_count = 0 ;
char buff[1024]={0};
char str[] = "hello world";
PROCESSENTRY32 pe32;
HANDLE hProcessSnap ;
BOOL bProcess ;
pe32.dwSize=sizeof(pe32);

OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken);

//获得系统内所有进程快照
hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap==INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot error");
return 0;
}
//枚举列表中的第一个进程
bProcess=Process32First(hProcessSnap,&pe32);
while(bProcess)
{
//格式化进程名和进程ID
//wsprintf(buff,"%s---------------%d\r\n",pe32.szExeFile,pe32.th32ProcessID);
strLen = wsprintf(buff,"%s",pe32.szExeFile);
// strLen = wsprintf(buff,"%d",pe32.th32ProcessID);
printf("the name is %s and the id is %10d ",pe32.szExeFile,pe32.th32ProcessID);
//printf("the strLen is %d",strLen);
//printf("the process name is %s",buff);
//输出进程名和进程ID
printf("the name is %s and the len is %d \n",buff,strLen);
memset(buff,0x00,1024);

//继续枚举进程
bProcess=Process32Next(hProcessSnap,&pe32);

if(stricmp(buff,"java.exe")==0){
printf("the id is %d",pe32.th32ProcessID);
}

process_count++;
}

printf("the process counts is %d \n",process_count);

CloseHandle(hProcessSnap);
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chichujn
2015-12-10 · TA获得超过663个赞
知道小有建树答主
回答量:1534
采纳率:50%
帮助的人:1105万
展开全部
使用GetModuleFileName可以返回当时应用程序完整路径。
再截取可以得到应用程序文件名。
参考:
http://baike.baidu.com/link?url=GozoTT8gx67PLFJXHRJ5y8UW6kENNbKWrCxiTgUGmSgHS9bjupHoEKctltWjagunkYGYKAEyGHmzU7TXOdEuKK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hslaiyaya
2015-11-26 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:111
采纳率:0%
帮助的人:59万
展开全部
GetCurrentProcess好像可以用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式