Radek Chalupa   vývoj software, konzultace a školení programování
 DomůČlánkyUkázky kóduKonzultace a školeníVývoj softwareFreewareKontakt

Seznamu modulů, které má běžící proces ve Windows aktuálně načtené.  C++ a Windows API

#include <stdio.h>
#include <windows.h>
#include <locale.h>
#include <psapi.h>
#include <assert.h>

int main()
{
	_wsetlocale(LC_ALL, L"Czech");
	static const size_t max_delka_cesty = static_cast(32768);
	HMODULE h_mod[1024];
	DWORD velikost;
	HANDLE h_proces = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
		FALSE, GetCurrentProcessId());
	assert(h_proces);
	if (EnumProcessModules(h_proces, h_mod, sizeof(h_mod), &velikost))
	{
		wchar_t* soubor = (wchar_t*)malloc(max_delka_cesty);
		for (size_t i = 0; i < velikost / sizeof(HMODULE); i++)
		{
			if (GetModuleFileNameEx(h_proces, h_mod[i], soubor, max_delka_cesty / sizeof(wchar_t)))
			{
				wprintf(L"%s\n", soubor);
			}
		}
		free(soubor);
	}
	printf("konec\n");
	getchar();
}

Copyright © 2019 - Radek Chalupa