11 #if defined(Q_OS_MACOS)
13 #elif defined(Q_OS_WIN)
30 return QStringLiteral(
"{ %1, %2 }").arg(QString::number(m_pid), m_name);
33 #if defined(Q_OS_LINUX)
34 QString CProcessInfo::processNameFromId(qint64 pid)
36 QString path = QFileInfo(QStringLiteral(
"/proc/%1/exe").arg(pid)).symLinkTarget();
37 return QFileInfo(path).fileName();
39 #elif defined(Q_OS_MACOS)
40 QString CProcessInfo::processNameFromId(qint64 pid)
43 proc_name(pid, name, std::extent_v<decltype(name)>);
46 #elif defined(Q_OS_WIN)
47 QString CProcessInfo::processNameFromId(qint64 pid)
49 HANDLE proc = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE,
static_cast<DWORD>(pid));
50 if (!proc) {
return {}; }
52 auto len = GetModuleFileNameEx(proc,
nullptr, path, std::extent_v<decltype(path)>);
54 if (len <= 0) {
return {}; }
55 return QFileInfo(QString::fromWCharArray(path)).completeBaseName();
58 QString CProcessInfo::processNameFromId(qint64)
60 qFatal(
"Not implemented");
QString convertToQString(bool i18n=false) const
Cast as QString.
Free functions in swift::misc.
unsigned long DWORD
Fake Windows DWORD.
#define SWIFT_DEFINE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template definition of mixins for a CValueObject subclass.