实现代码

#include <stdio.h>
#include <windows.h>
#include <tlhelp32.h>
#include <string>
#include <tchar.h>
#include <Psapi.h>
#pragma comment (lib,"Psapi.lib")BOOL DosPathToNtPath(LPTSTR pszDosPath, LPTSTR pszNtPath)
{TCHAR            szDriveStr[500];TCHAR            szDrive[3];TCHAR            szDevName[100];INT                cchDevName;INT                i;//检查参数if(!pszDosPath || !pszNtPath )return FALSE;//获取本地磁盘字符串if(GetLogicalDriveStrings(sizeof(szDriveStr), szDriveStr)){for(i = 0; szDriveStr[i]; i += 4){if(!lstrcmpi(&(szDriveStr[i]), _T("A:\\")) || !lstrcmpi(&(szDriveStr[i]), _T("B:\\")))continue;szDrive[0] = szDriveStr[i];szDrive[1] = szDriveStr[i + 1];szDrive[2] = '\0';if(!QueryDosDevice(szDrive, szDevName, 100))//查询 Dos 设备名return FALSE;cchDevName = lstrlen(szDevName);if(_tcsnicmp(pszDosPath, szDevName, cchDevName) == 0)//命中{lstrcpy(pszNtPath, szDrive);//复制驱动器lstrcat(pszNtPath, pszDosPath + cchDevName);//复制路径return TRUE;}           }}lstrcpy(pszNtPath, pszDosPath);return FALSE;
}
//获取进程完整路径
BOOL GetProcessFullPath(DWORD dwPID, TCHAR pszFullPath[MAX_PATH])
{TCHAR        szImagePath[MAX_PATH];HANDLE        hProcess;if(!pszFullPath)return FALSE;pszFullPath[0] = '\0';hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, dwPID);if(!hProcess)return FALSE;if(!GetProcessImageFileName(hProcess, szImagePath, MAX_PATH)){CloseHandle(hProcess);return FALSE;}if(!DosPathToNtPath(szImagePath, pszFullPath)){CloseHandle(hProcess);return FALSE;}CloseHandle(hProcess);_tprintf(_T("%d,%s \r\n"),dwPID,pszFullPath);return TRUE;
}
int main(int argc, char* argv[])
{HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);if (INVALID_HANDLE_VALUE == hSnapshot){return NULL;}PROCESSENTRY32 pe ={0};pe.dwSize = sizeof(PROCESSENTRY32); BOOL fOk;for (fOk = Process32First(hSnapshot, &pe); fOk; fOk = Process32Next(hSnapshot, &pe)){TCHAR szProcessName[MAX_PATH] = {0};GetProcessFullPath(pe.th32ProcessID, szProcessName);}return 0;
}

截图

参考

https://bbs.csdn.net/topics/390937481

转载于:https://www.cnblogs.com/17bdw/p/10355793.html

C++获取当前所有进程的完整路径相关推荐

  1. [Win32] 获取进程完整路径

    本博文由CSDN博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处:http://blog.csdn.net/zuishikonghuan/article/d ...

  2. Bash脚本获取自身完整路径的可靠方法

    本文翻译自:Reliable way for a Bash script to get the full path to itself [duplicate] This question alread ...

  3. VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷

    工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求.(转载请指明出处)网上关于方案大致存在两种方案: OpenProcess->GetModuleFileName OpenPr ...

  4. 如何从文件的完整路径获取目录?

    获取文件所在目录的最简单方法是什么? 我正在使用它来设置工作目录. string filename = @"C:\MyDirectory\MyFile.bat"; 在这个例子中,我 ...

  5. 如何获取文件的完整路径?

    有没有一种简单的方法可以打印file.txt的完整路径? file.txt = /nfs/an/disks/jj/home/dir/file.txt <command> dir> & ...

  6. PHP获取URL完整路径及物理路径

    2019独角兽企业重金招聘Python工程师标准>>> PHP的预定义变量$_SERVER是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建. ...

  7. VB根据窗口标题获取应用程序完整路径

    新建工程,添加一个command按钮和一个textbox,然后将下面的代码copy到代码区,运行即可见到效果了 'Option Explicit Private Declare Function Fi ...

  8. 批处理查找html,批处理(bat)实现全盘搜索指定文件获取其完整路径方法大全,bat大全分享...

    废话不多说,直接上代码,额,想用的话,自己保存成 [方案一]for /f + dir % [方案二]for /r(比 for /f + dir 效率高,但不会遍历隐藏文件) @echo off rem ...

  9. 如何获取当前文件目录的完整路径?

    我想获取当前文件的目录路径. 我试过了: >>> os.path.abspath(__file__) 'C:\\python27\\test.py' 但是如何检索目录的路径? 例如: ...

最新文章

  1. 微信小程序setData()方法的使用
  2. linux学习作业-第七周
  3. 比较第一与第二个字符串,是否有连续的5个字符相同.sql
  4. There is 和 There are的使用_28
  5. python学习之旅(入门)
  6. 自动驾驶—全局定位的学习笔记
  7. qt——QFileDialog使用对话框选取本地文件
  8. CentOS 7下sshd防暴力破解及fail2ban的使用方法
  9. OFFICE技术讲座:标点压缩是各大OFFICE软件差异关键,总体考量有哪些
  10. MSM8937系统启动流程
  11. 对学习数据结构的建议
  12. android 自定义view 动画效果,Android自定义view实现阻尼效果的加载动画
  13. 大气的品牌化妆品官网模板
  14. Java 超全面试题
  15. 如何下载Direct3D9Ex
  16. 京东数科商用智能机器人首次亮相2019CES
  17. Netty学习(七):心跳检测机制
  18. “远程办公”用户达3.46亿,一年每人可节省1.4万
  19. 和讯网分行业和分省份社会责任指数(2010-2020年)
  20. 解决图片不显示的问题

热门文章

  1. mknod 创建内核设备文件【原创】
  2. 微信小程序生成小程序码,如何在开发版本调试?
  3. 软件测试基础课程学习笔记1--软件测试简介
  4. 计算机组成原理pc值,计算机组成原理试题
  5. cpp 条件判断 大于等于_07.合意就执行,不行就拉倒-if/else条件控制(一)
  6. php给一个参数布尔值,php – 布尔值和字符串条件
  7. java平台无关性_为什么Java能够实现平台无关性?
  8. ffmpeg 存流为hls文件
  9. pytorch load state dict_pytorch源码阅读(二)optimizer原理
  10. 【IDEA】IDEA 设置 字体 可以滚轮 改变大小