15,473
社区成员




PromotePrivilege(TRUE);
HWND hwnd=GetForegroundWindow();
char str_Path[200];
char str_WindowsText[200];
GetWindowText(hwnd,str_WindowsText,200);
DWORD pid=0;
GetWindowThreadProcessId(hwnd,&pid);
MODULEENTRY32 me32;
me32.dwSize=sizeof(me32);
HANDLE hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pid);
Module32First(hProcessSnap,&me32);
if(me32.th32ProcessID){
strcpy(str_Path,me32.szExePath);
}
int _tmain(int argc, _TCHAR* argv[])
{
HMODULE hMods[512] = {0};
DWORD cbNeeded = 0;
TCHAR szModName[MAX_PATH];
BOOL Wow64Process;
HANDLE hProcess = ::OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ|PROCESS_QUERY_LIMITED_INFORMATION, FALSE, 1032);
IsWow64Process(hProcess, &Wow64Process); //判断是32位还是64位进程
EnumProcessModulesEx(hProcess, hMods, sizeof(hMods), &cbNeeded, Wow64Process?LIST_MODULES_32BIT:LIST_MODULES_64BIT);
for (UINT i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
{
GetModuleFileNameEx(hProcess, hMods[i], szModName, _countof(szModName));
_tprintf_s(TEXT("%s\n"),szModName);
}
CloseHandle(hProcess);
return 0;
}