-
[WinAPI/C++] PID로 프로세스명 조회하는 방법 ( QueryFullProcessImageName )Programming/WINAPI 2020. 6. 24. 07:58반응형
프로세스ID로 프로세스명(경로 포함) 확인하는 방법입니다.
#include <Windows.h> #include <string> #include <iostream> std::string GetProcessName(const DWORD pid) { std::string name = "unknown"; DWORD error=0; if(HANDLE hProc = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, pid)) { char buf[512]={0,}; DWORD bufLen = sizeof(buf); QueryFullProcessImageName(hProc, 0, buf, &bufLen); CloseHandle(hProc); name = buf; } return name; } int main() { DWORD pid = 확인할 프로세스ID; std::string name = GetProcessName(pid); std::cout << "process name=" << name << std::endl; return 0; }
Windows Vista 이상 부터 사용할 수 있으며 UAC 프로세스 무결성 수준이 높더라도 확인이 가능한 코드입니다.
단, 시스템 프로세스는 확인이 안됩니다.
경로가 포함된 프로세스명이 리턴되기 때문에 경로가 필요없는 경우에는 잘라서 사용하시면 됩니다.
반응형'Programming > WINAPI' 카테고리의 다른 글
WebView2 설치하기 (0) 2021.07.30 MFC 화면개발을 html로 하기위한 html ui engine 비교 (CEF, Sciter, Ultralight ...) (10) 2020.02.16 작업표시줄(Taskbar)에서 아이콘 제거하기 (0) 2018.02.09