下面的实例可以简便实现这个功能。 #include <stdio.h> #include <windows.h> int main() { char str[MAX_PATH]; GetModuleFileName(NULL, str, MAX_PATH); puts(str); return 0; }
另外,想要枚举系统里面全部的进程,可以使用如下方式,关键是CreateToolhelp32Snapshot函数。
PROCESSENTRY32 pe32; pe32.dwSize = sizeof(pe32);//set struct size; //Give a fast shoot to the system all process; HANDLE hProcessSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if (hProcessSnap==INVALID_HANDLE_VALUE) { AfxMessageBox(_T("CreateToolhelp32Snapshot FAIL!")); return true; } //Interactor BOOL bMore=::Process32First(hProcessSnap,&pe32); while(bMore) { } ::CloseHandle(hProcessSnap);
获取进程的相关信息,可以通过ZwQuerySystemInformation。
时间: 2024-10-31 10:03:08