Я хочу убедиться, что helper.exe
работает, и наоборот.
Я ищу что-то вроде:
if (not running helper.exe) { //fatal error here }
к вашему сведению, я использую Windows Я ничего не пробовал, кроме поиска в Google, который не дал мне ответа.
🤔 А знаете ли вы, что...
C предоставляет возможность работы с низкоуровневыми аппаратными ресурсами, такими как порты ввода-вывода и регистры устройств.
Обратите внимание: это непереносимый код Windows, поскольку ОП пометил окна и сообщил, что использует окна.
Этот код скомпилирован и протестирован мной только что. Output:
на самом деле является копированием из окна консоли.
ЦЕЛЬ: посмотреть, запущен ли процесс, вернуть Process ID
и отобразить имя процесса. В этом случае код проверяет, работает ли msedge.exe
, и отображает Process ID
(PID).
Метод: выполняет поиск по всем запущенным процессам, выполняя строку. поиск нужного процесса.
#define _WIN32_WINNT 0x0501 /* WinXP minimum platform */
#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
/*--------------------------------------------
FindProcessId()
*--------------------------------------------*/
DWORD FindProcessId(char *processName)
{
PROCESSENTRY32 processInfo;
HANDLE processesSnapshot =
CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if ( processesSnapshot == INVALID_HANDLE_VALUE )
return 0;
processInfo.dwSize = sizeof(processInfo);
Process32First(processesSnapshot, &processInfo);
printf("FindProcessId(%s) comp: %s\n",processName, processInfo.szExeFile);
if ( !_stricmp(processName, processInfo.szExeFile) )
{
CloseHandle(processesSnapshot);
return processInfo.th32ProcessID;
}
while ( Process32Next(processesSnapshot, &processInfo) )
{
printf("FindProcessId(%s) comp: %s\n",processName, processInfo.szExeFile);
if ( !_stricmp(processName, processInfo.szExeFile) )
{
CloseHandle(processesSnapshot);
return processInfo.th32ProcessID;
}
}
CloseHandle(processesSnapshot);
return 0;
}
/*-------------------------------------
main()
*------------------------------------*/
int main()
{
DWORD PID=0;
PID = FindProcessId("msedge.exe");
printf("PID = %lu\n", PID);
system("pause");
return 0;
}
Выход:
...
...
FindProcessId(msedge.exe) comp: svchost.exe
FindProcessId(msedge.exe) comp: svchost.exe
FindProcessId(msedge.exe) comp: splwow64.exe
FindProcessId(msedge.exe) comp: svchost.exe
FindProcessId(msedge.exe) comp: taskhostw.exe
FindProcessId(msedge.exe) comp: msedge.exe
PID = 12156
Press any key to continue . . .