Pracuję nad prostą biblioteką zbierania statystyk procesów dla systemu Windows. Wymieniam procesy za pomocą funkcji EnumProcesses()
i próbuję je otworzyć, korzystając z połączenia OpenProcess()
z flagą PROCESS_QUERY_INFORMATION. Ten ostatni jednak nie działa w przypadku wielu procesów systemowych. Jednocześnie widzę, że podobne aplikacje (narzędzia sysinternals, menedżer zadań itp.) Wydają się być w stanie pobierać informacje o tych procesach, nawet bez konieczności korzystania z uprawnień administratora. Próbowałem włączyć przywilej SeDebugPrivilege, ale pomogło to tylko wtedy, gdy uruchomiłem mój program jako administrator - i nadal nie mogłem otworzyć procesu bezczynności, procesu systemowego i procesu audiodg (chciałbym móc odzyskać ich informacje również dla spójności).Wywoływanie pełnej listy procesów systemu Windows w C
Pytanie brzmi: w jaki sposób mogę uzyskać informacje o procesach wszystkie (widzę to zrobione przez aplikacje firm trzecich, ale nie widzę jak)? Czy można to zrobić bez uprawnień administratora?
Ohh napisałeś windows 7, nie wiem, czy to działa na szczycie win7 na nieuprzywilejowanego użytkownika , daj znać czy działa. – 0x90
To zadziałało. Dziękuję Ci! –