Обнаружение, если процесс все еще работает

Также попробуйте это за C-расположение-с-отступом добавление отступа, сделайте :help = для большего количества информации:

={

, Который автоматически сместит текущий блок кода, в котором Вы находитесь.

Или просто:

==

, чтобы автоматически сместить текущую строку.

5
задан Cœur 26 December 2018 в 03:27
поделиться

3 ответа

Вы можете проверить жизненный цикл процесса, используя

bool isProcessRunning(HANDLE process)
{
   return WaitForSingleObject( process, 0 ) == WAIT_TIMEOUT;
}
7
ответ дан 18 December 2019 в 14:49
поделиться

Вы можете использовать EnumProcesses () , чтобы запустить все процессы в Windows . Что-то вроде:

bool IsProcessRunning(int pid)  
{  
unsigned long processes[2048];  
unsigned long num_proc = 0;  
unsigned long needed = 0;  

  // assume that 2048 processes are enought  
  if (EnumProcesses(processes, sizeof(processes), &needed))  
   num_proc = needed / sizeof(DWORD);  

  for (int i = 0; i < num_proc; i++)  
    if (processes[i] == pid)  
      return true;  

   return false;  
}
1
ответ дан 18 December 2019 в 14:49
поделиться

http://msdn.microsoft.com/en-us/library/ms683189%28VS.85%29.aspx

Возвращаемое значение

Если функция завершается успешно, возвращается значение не равно нулю.

Если функция сбой, возвращаемое значение - ноль. Чтобы получить расширенную информацию об ошибке, позвонить GetLastError .

3
ответ дан 18 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: