码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 获取进程路径

时间:2014-12-25 18:40:00      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:c++ 进程 枚举

下面的实例可以简便实现这个功能。
#include <stdio.h>
#include <windows.h>
int main()
{
     char str[MAX_PATH];
     GetModuleFileName(NULL, str, MAX_PATH);
     puts(str);
     return 0;
}

另外,想要枚举系统里面全部的进程,可以使用如下方式,关键是CreateToolhelp32Snapshot函数。

PROCESSENTRY32 pe32;
    pe32.dwSize = sizeof(pe32);//set struct size;
    //Give a fast shoot to the system all process;
    HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    
    if (hProcessSnap==INVALID_HANDLE_VALUE)
    {
        AfxMessageBox(_T("CreateToolhelp32Snapshot FAIL!"));
        return true;
    }
    //Interactor
    BOOL bMore=::Process32First(hProcessSnap,&pe32);
    while(bMore)
    {
    }
    ::CloseHandle(hProcessSnap);

获取进程的相关信息,可以通过ZwQuerySystemInformation。

C++ 获取进程路径

标签:c++ 进程 枚举

原文地址:http://3994129.blog.51cto.com/3984129/1595974

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!