MUTILS_API bool change_process_priority(const QProcess *proc, const int priority);
//Process ID
- MUTILS_API quint32 process_id(const QProcess *proc);
+ MUTILS_API quint32 process_id(const QProcess *const proc);
+
+ //Suspend or resume processv
+ MUTILS_API bool suspend_process(const QProcess *proc, const bool suspend);
//System timer resolution
MUTILS_API bool setup_timer_resolution(const quint32 &interval = 1);
// PROCESS ID
///////////////////////////////////////////////////////////////////////////////
-quint32 MUtils::OS::process_id(const QProcess *proc)
+quint32 MUtils::OS::process_id(const QProcess *const proc)
{
PROCESS_INFORMATION *procInf = proc->pid();
return (procInf) ? procInf->dwProcessId : NULL;
}
///////////////////////////////////////////////////////////////////////////////
+// PROCESS SUSPEND/RESUME
+///////////////////////////////////////////////////////////////////////////////
+
+bool MUtils::OS::suspend_process(const QProcess *proc, const bool suspend)
+{
+ if(Q_PID pid = proc->pid())
+ {
+ if(suspend)
+ {
+ return (SuspendThread(pid->hThread) != ((DWORD) -1));
+ }
+ else
+ {
+ return (ResumeThread(pid->hThread) != ((DWORD) -1));
+ }
+ }
+ else
+ {
+ return false;
+ }
+}
+
+///////////////////////////////////////////////////////////////////////////////
// SYSTEM TIMER
///////////////////////////////////////////////////////////////////////////////