- Milyen TV-t vegyek?
- Váratlanul ledobta asztali csúcs-Ryzenjét az AMD
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Házimozi belépő szinten
- Milyen monitort vegyek?
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Hobby elektronika
- OLED monitor topic
- Milyen nyomtatót vegyek?
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
-
PROHARDVER!

Új hozzászólás Aktív témák
-
pmonitor
aktív tag
válasz
sztanozs
#16528
üzenetére
Készítettem tesztprogramot C-ben, csak nem tudom, hogy mikor tudom hosszasan futtatni. pidtesztA:
#include <windows.h>
HINSTANCE hInstance = NULL;
char* AppName = "PID teszt \"A\"";
char* WindowClassName = "pidtesztA";
HWND AppHwnd = NULL;
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
int main()
{
WNDCLASSEX wc;
MSG msg;
hInstance = GetModuleHandle(NULL);
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = WindowProc;
wc.hbrBackground = COLOR_BTNFACE + 1;
wc.hInstance = hInstance;
wc.lpszMenuName = NULL;
wc.lpszClassName = WindowClassName;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(0, IDC_ARROW);
RegisterClassEx(&wc);
AppHwnd = CreateWindowEx(0, WindowClassName, AppName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 1200, 900, 0, 0, hInstance, 0);
ShowWindow(AppHwnd, SW_SHOWDEFAULT);
UpdateWindow(AppHwnd);
while (GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch (uMsg)
{
case WM_CREATE:
ShowWindow(AppHwnd, SW_NORMAL);
break;
case WM_COMMAND:
break;
case WM_SIZE:
{
break;
}
case WM_SHOWWINDOW:
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, uMsg, wParam, lParam);
break;
}
}pidtesztB:
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
STARTUPINFOA SI;
PROCESS_INFORMATION PI;
HWND Pids[400000000];
int PidsP = 0;
int waitmsec = 500;
int appStart(char name[])
{
if (!CreateProcessA(NULL, name, NULL, NULL, FALSE, 0, NULL, NULL, &SI, &PI))
{
printf("A %s file-t nem lehet megnyitni...\n", name);
return -1;
}
WaitForSingleObject(PI.hProcess, waitmsec);
return 0;
}
int main(int argc, char* argv[])
{
DWORD procid = 0, hwndid;
ZeroMemory(&SI, sizeof(SI));
SI.cb = sizeof(SI);
ZeroMemory(&PI, sizeof(PI));
if (argc == 3) waitmsec = atoi(argv[2]);
char appA[50] = "pidtesztA.exe";
char appAClass[50] = "pidtesztA";
if (!appStart(appA))
{
HWND hwnd = FindWindowExA(NULL, NULL, appAClass, NULL);
while (hwnd)
{
int pidact = 0;
int tid = GetWindowThreadProcessId(hwnd, &pidact);
Pids[PidsP] = pidact;
PidsP++;
hwnd = FindWindowExA(NULL, hwnd, appAClass, NULL);
}
TerminateProcess(PI.hProcess, 0);
}
HWND prochwnd;
int i, out = 0, imax = 500;
if (argc >= 2) imax = atoi(argv[1]);
for (i = 0; i < imax; i++)
{
ZeroMemory(&SI, sizeof(SI));
SI.cb = sizeof(SI);
ZeroMemory(&PI, sizeof(PI));
if (!appStart(appA))
{
HWND hwnd = FindWindowExA(NULL, NULL, appAClass, NULL);
while (hwnd)
{
int pidact = 0;
int tid = GetWindowThreadProcessId(hwnd, &pidact);
int j = 0;
while (j < PidsP)
{
if (Pids[j] == pidact)
{
printf("Pid egyezik!\n");
out = 1;
break;
}
j++;
}
if (out) break;
Pids[PidsP] = pidact;
PidsP++;
hwnd = FindWindowExA(NULL, hwnd, appAClass, NULL);
}
TerminateProcess(PI.hProcess, 0);
if (out) break;
}
}
printf("i: %d\n", i);
return 0;
}Mint látható az "A" egy standard window. A "B" console. Az indítási intervallum, és a waitforsingleobject() ideje is alapból 500, de parancssorból változtatható, mint az a kódból is látható. A szám adatok validitását nem ellenőriztem le, csak egyből konvertál(legalábbis megpróbál
).
Még nem tudtam hosszan futtatni. Ha vki. működésbeli hibát vesz észre, Ő kérem jelezze.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Milyen TV-t vegyek?
- Horgász topik
- PlayStation 5
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Futás, futópályák
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Váratlanul ledobta asztali csúcs-Ryzenjét az AMD
- One otthoni szolgáltatások (TV, internet, telefon)
- GL.iNet Flint 2 (GL-MT6000) router
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- További aktív témák...
- teljesen ÚJ Apple Watch Ultra 3 49mm Black Titanium !! aktiválástól 1 ÉV nemzetközi APPLE GARANCiA
- Dell WD15 type-c dokkoló 130W-os töltővel
- FLSUN V400 3D nyomtató megkímélt, 680 üzemóra
- BESZÁMÍTÁS! Lenovo LOQ 15AHP10 FHD GAMER notebook - Ultra7 155U 32GB DDR5 1TB SSD Intel Graphics W11
- Dell Precision 7810 TOWER,E5-2670 v3 (12/24) 8GB DDR4,256GB SSD,QUADRO K2200 4GB VGA,WIN11
- Lenovo ThinkPad X1 Yoga G6 (6th Gen) - i7-1185G7, 32GB, 512GB SSD, multitouch + TOLL
- Beszámítás! MSI G27C4 E3 27 180Hz FHD VA 1ms gamer monitor garanciával hibátlan működéssel
- 195 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070 (ELKELT)
- Ryzen 7700X / RTX 4070 Ti Super / 32GB DDR5 / 1TB NVMe / 800w GOLD! BeszámítOK
- AKCIÓ! Intel Core i9 13900K 24 mag 32 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

).
