QString getProcessFullPath(const quint64 &processId)
{
#ifdef Q_OS_WIN
// access process path
WCHAR name[];
ZeroMemory(name, );
// open process handler
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processId);
if (NULL != hProcess)
{
DWORD cbNeeded;
HMODULE hMod;
// process path
if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))
{
DWORD dw = GetModuleFileNameExW(hProcess, hMod, name, );
}
CloseHandle(hProcess);
}
return QString::fromWCharArray(name);
#elif defined Q_OS_MAC
#include <libproc.h>
char pathbuf[];
proc_pidpath(processId, pathbuf, sizeof(pathbuf));
qDebug() << "running process path: " << pathbuf; // //const char* strFind_ComName = convertQString2char("ps -ef|grep processName |grep -v grep |awk '{print $8}'");
// QString strCommand = "ps -ef|grep " + processName + " |grep -v grep |awk '{print $2}'";
// const char* strFind_ComName = convertQString2char(strCommand);
// FILE * pPipe = popen(strFind_ComName, "r");
// if (pPipe)
// {
// std::string com;
// char name[512] = { 0 };
// while (fgets(name, sizeof(name), pPipe) != NULL)
// {
// int nLen = strlen(name);
// if (nLen > 0
// && name[nLen - 1] == '\n'
// && name[0] == '/')
// {
// name[nLen - 1] = '\0';
// strPath = name;
// break;
// }
// }
// pclose(pPipe);
// }
// qDebug() << "----------------------------------------- check processName strPath " << strPath; QString strPath(pathbuf);
return strPath;
#endif
}

QT_获取运行进程所在目录路径_2的更多相关文章

  1. QT_获取运行进程所在目录路径_1

    QString getProcessPathForWin(int idProcess) { #ifdef Q_OS_WIN // access process path WCHAR name[]; Z ...

  2. IOS中获取各个文件的目录路径的方法和NSFileManager类

    转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永 ...

  3. asp.net Core 获取应用程序所在目录的2种方式

    //获取应用程序所在目录的2种方式(绝对,不受工作目录影响,建议采用此方法获取路径).如:d:\Users\xk\Desktop\WebApplication1\WebApplication1\bin ...

  4. bat 获取管理员权限,判断系统位数,获取当前文件所在目录,regsvr32注册DLL、OCX

    1.获取管理员权限 @echo off if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%Syste ...

  5. C#获取程序所在目录路径

    方法1:Directory.GetCurrentDirectory().这个方法只能在.NET的完整版中使用,NETCF中不支持该功能,调用时会引发异常.获取的是当前目录,并不一定是真正的路径,跟Op ...

  6. iOS中获取各种文件的目录路径的方法

    我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...

  7. (转)IOS中获取各种文件的目录路径的方法

    iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...

  8. iOS中获取各种文件的目录路径和文件

    iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...

  9. IOS中获取各种文件的目录路径的方法-备

    iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...

随机推荐

  1. Genymotion 的那些事

    一.什么是Genymotion? Genymotion是一套完整的工具,它提供了Android虚拟环境. 支持Windows.Linux和Mac OS等操作系统. 在Android开发中可以代替安卓模 ...

  2. Java对象的存活判断

    Java对象的回收是有依据的,普通的方式是计算法,比如被引用,对象计数器➕1,不被引用,➖1,回收的时候,发现是0则清除,但是不能解决两个对象互相被引用的情况,Java采用可达性分析,通过某个对象作为 ...

  3. 第一周课堂笔记4th

    1.    if 对应着程序设计中的三种程序执行流程: 顺序结构,一条一条的按顺序执行,自上而下 选择结构,if  else 单分支,双分支,多分支 循环结构 while for (后面学) 流程控制 ...

  4. Python学习之while练习--九九乘法表

    效果如下: 实现代码; m = 1n = 1while(m<10): while(n<=m): print(n,"*",m,"=",m*n,end ...

  5. Windows API 第21篇 DeleteVolumeMountPoint 删除挂载点

    函数原型:BOOL DeleteVolumeMountPoint(                                                      LPCTSTR lpszV ...

  6. [转]Visual Studio 2010单元测试(1)--运行和定义普通单元测试

    Visual Studio 2010 运行和定义单元测试 在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法 ...

  7. php连接数据库插入数据

    <form action="updata.php" method="post"> 姓名:<input type="text" ...

  8. PHP获取网站中各文章的第一张图片的代码示例

    调取文章中的第一张图作为列表页缩略图是很流行的做法,WordPress中一般主题默认也是如此,那我们接下来就一起来看看PHP获取网站中各文章的第一张图片的代码示例 ? 1 2 3 4 5 6 7 8 ...

  9. MYSQL数据库练习题操作(select)大全

    1.创建表 表一:student学生use) .create table student( sno ) primary key not null comment'学号(主码)', sname ) no ...

  10. PAT甲级——A1055 The World's Richest

    Forbes magazine publishes every year its list of billionaires based on the annual ranking of the wor ...