void _FindProcess(const CString& strProcessName,CArray<DWORD,DWORD>& aPid)
{
aPidRemoveAll();
DWORD dwPid = 0; //用于保存Id
CString strExeFile;
HANDLE hHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //为当前系统进程建立快照
DWORD dwId = ::GetCurrentProcessId(); //当前进程的Id
if (INVALID_HANDLE_VALUE !=hHandle) //如果快照建立成功
{
PROCESSENTRY32 stEntry;
stEntrydwSize = sizeof(PROCESSENTRY32);
if(Process32First(hHandle, &stEntry)) //在快照中查找一个进程,stEntry返回进程相关属性和信息
{
do
{
strExeFileFormat("%s",stEntryszExeFile);
if(strProcessNameCompareNoCase(strExeFile)==0) //比较该进程名称是否与strProcessName相符
{
if(dwId != stEntryth32ProcessID) //如果相等,且该进程的Id与当前进程不相等,则找到strProcessName对应的进程。
{
aPidAdd(stEntryth32ProcessID);
}
}
}while(Process32Next(hHandle, &stEntry));//再快照中查找下一个进程。
}
CloseHandle(hHandle); //释放快照句柄。
}
return ;
}
上面是查找进程名你稍修改一下就可以用了
如果你的c编译器支持wim32 api的话,那么当前的目录有api GetCurrentDirectory取得,由GetModuleFileName可获得程序路径,从最后开始到第一个"\"结束,就是程序名。
装系统说简单也简单,说麻烦也麻烦,大致给你个流程:
1启动机器按DELE键,进入BOIS设置
2根据主板说明,将第一启动(first,second,third排在一列的那个)设置为CD-ROM
3退出保存设置(一般F10)
4将光盘放进去后重新启动
5会提示开始安装,要选安装的盘符(一般选C),格式(xp一般ntfs),如果是没有分区的会先出现分区选项,要新建一个分区,填写这个盘大小(具体分几个就看你自己需要了)
6然后就开始不停的装啊装,会跳出来序列号,语言,输入法,用户名等提示,选择好就OK了
看看你的计算机上有没有 Windows XP 的 wmic 命令。
在DOS 黑窗 打命令
wmic process
可以获得所有进程信息。
编程序,用 system("wmic process > my_logtxt");
把 屏幕输出 转向 到 文件 my_logtxt 里。
然后 fopen my_logtxt ,从里面 抓出 你要的 进程。
如果觉得信息太多,查一下帮助文件,找合适的选项命令,wmic process 加上选项 就可以了。
例如:
system("wmic process get ExecutablePath > my_logtxt");
my_logtxt 里有:
C:\WINDOWS\System32\smssexe
C:\WINDOWS\system32\csrssexe
C:\WINDOWS\system32\winlogonexe
C:\WINDOWS\system32\servicesexe
C:\WINDOWS\system32\lsassexe
C:\WINDOWS\system32\svchostexe
。。。
以上就是关于c++ 怎么样获取windows指定程序是否正在运行全部的内容,包括:c++ 怎么样获取windows指定程序是否正在运行、C语言中怎么取本身程序的运行名和运行目录、如何用c/c++获得当前系统安装的软件列表,就像“添加删除程序”一样等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)