Во-первых, в качестве общего пункта для вопросов о функциях библиотеки Windows, вы должны рассмотреть поиск MSDN . Здесь - это страница MSDN для GetModuleHandle (), она содержит значительную часть соответствующей информации.
К вашему вопросу (и любой, кто более знаком с Windows API, не стесняйтесь меня поправлять), «модуль» - это своего рода термин для всей программы, обычно относящийся либо к исполняемому файлу (.exe). ) или библиотека (.dll). «Дескриптор» - это термин, относящийся к указателю. GetModuleHandle () возвращает указатель (дескриптор) на конкретную программу (модуль). Как прокомментировал Павел, оба являются очень широкими терминами.
Что касается размещенного вами фрагмента кода:
Он получает текущий запущенный процесс, а также текущий модуль (очевидно).
Затем он вызывает SetWindowsHookEx (обратитесь к MSDN за дополнительной информацией), который принимает событие для перехвата (в данном случае, события низкоуровневой клавиатуры.), Процедуру для вызова (proc), когда происходит перехваченное событие, и указатель на текущая программа.
См. Hooks на MSDN для получения дополнительной информации о подключении.
По сути, сообщение этого поста состоит в том, чтобы больше использовать MSDN, это довольно солидная часть документации:)