在vc中知道其他程序的进程名,如何获得该进程的id,详细点,写成一个函数,要可以运行,多谢。
1个回答
2011-06-21
展开全部
原型:
int WINAPI icePub_getProcessInfo(char *strInfoList ,int maxLen)
输入:maxLen strInfoList最大长度
输出:strInfoList 进程基本信息,name|pid|path,一行一条信息
int recordCounts;
char buff[1024*30+1];
typedef int (WINAPI ICEPUB_GETPROCESSINFO)(char *strInfoList ,int maxLen);
ICEPUB_GETPROCESSINFO *icePub_getProcessInfo = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_getProcessInfo = (ICEPUB_GETPROCESSINFO *)GetProcAddress(hDLLDrv, "icePub_getProcessInfo");
}
if(icePub_getProcessInfo)
recordCounts=icePub_getProcessInfo(buff,1024*30);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessageBox(buff);
int WINAPI icePub_getProcessInfo(char *strInfoList ,int maxLen)
输入:maxLen strInfoList最大长度
输出:strInfoList 进程基本信息,name|pid|path,一行一条信息
int recordCounts;
char buff[1024*30+1];
typedef int (WINAPI ICEPUB_GETPROCESSINFO)(char *strInfoList ,int maxLen);
ICEPUB_GETPROCESSINFO *icePub_getProcessInfo = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_getProcessInfo = (ICEPUB_GETPROCESSINFO *)GetProcAddress(hDLLDrv, "icePub_getProcessInfo");
}
if(icePub_getProcessInfo)
recordCounts=icePub_getProcessInfo(buff,1024*30);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
AfxMessageBox(buff);
更多追问追答
追问
大哥 你的程序我不懂 不好意思 我需要的函数是我传给它一个参数是进程名 返回的是该进程的ID,你这种函数我不知道怎么用 那些参数的意思我不是很清楚。
追答
long getPidByName(char *strName)
{
int recordCounts;
char buff[1024*30+1];
typedef int (WINAPI ICEPUB_GETPROCESSINFO)(char *strInfoList ,int maxLen);
ICEPUB_GETPROCESSINFO *icePub_getProcessInfo = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");
if(hDLLDrv)
{
icePub_getProcessInfo = (ICEPUB_GETPROCESSINFO *)GetProcAddress(hDLLDrv, "icePub_getProcessInfo");
}
if(icePub_getProcessInfo)
recordCounts=icePub_getProcessInfo(buff,1024*30);
if(hDLLDrv)
FreeLibrary(hDLLDrv);
CString str1=buff;
CString str2=strName;
int i;
long pid=0;
str2=str2+"|";
i=str1.Find(str2,0);
if(i>=0)
{
str1=str1.Mid(i+str2.GetLenght());
pid=atol(str1);
}
return pid;
}
//dll下载在pdf文档里有
参考资料: http://bbs.icese.net/icepubdll/icePubDLL%bd%d2%c3%d820110518.pdf
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询