-
PROHARDVER!

Új hozzászólás Aktív témák
-
válasz
pmonitor
#15485
üzenetére
Windows 10 alatt vannak az ún. Desktop mode app-ok, meg a Tablet mode app-ok. A számológép az utóbb csoporthoz tartozik, ezért nem tudod beolvasni a PID-t a korábbi módszerrel. Legegyszerűbb megoldás az, ha futtatod a calc-ot (ami egy Calculator.exe process-ként jelenik meg a Feladatkezelőben), majd végigszaladsz az összes futó folyamaton és megkeresed ezt a bizonyos Calculator.exe-t. Abból már ki lehet olvasni a PID-t (meg sok mást is)
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <tlhelp32.h>
#include <stdbool.h>
int main()
{
STARTUPINFO SI;
PROCESS_INFORMATION PI;
ZeroMemory(&SI, sizeof(SI));
SI.cb = sizeof(SI);
ZeroMemory(&PI, sizeof(PI));
if(!CreateProcess(NULL, "calc.exe", NULL, NULL, FALSE, 0, NULL, NULL, &SI, &PI))
{
printf( "CreateProcess failed... Program terminated.");
return -1;
}
WaitForSingleObject(PI.hProcess, INFINITE);
wchar_t * ProcessName = "Calculator.exe";
bool FoundProcess = false;
PROCESSENTRY32 PE32;
PE32.dwSize = sizeof(PE32);
HANDLE PS = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (PS != INVALID_HANDLE_VALUE)
{
Process32First(PS, &PE32);
while (Process32Next(PS, &PE32))
{
if (strstr(PE32.szExeFile, ProcessName)!=NULL)
{
FoundProcess=true;
break;
}
}
if (FoundProcess)
{
printf( "Process Name = %s\nProcessID = %d", ProcessName, PE32.th32ProcessID);
CloseHandle(PS);
}
else
printf( "%s process not found.", ProcessName);
}
CloseHandle(PI.hProcess);
CloseHandle(PI.hThread);
getch();
}
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Honor X7b 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung 860 Pro 256GB V-NAND SSD
- ÁRGARANCIA!Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Xbox One S All Digital 1 TB + kontroller 6 hó garancia, számlával!
- HP EliteOne 800 G6 All-in-One i5-10500 32GB 1000GB 24" Érintőkijelző!! 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


