Я пытаюсь получить информацию о версии модуля в некотором коде C ++ (в основном это ), и я получаю ошибки времени компиляции.Вот код:
WCHAR fileName[MAX_PATH];
HMODULE module = GetModuleHandle(L"some-module");
DWORD size = GetModuleFileName(module, fileName, MAX_PATH);
И возвращается компилятор:
error C2664: 'GetModuleFileNameW' : cannot convert parameter 1 from 'WHANDLE' to
'HMODULE'
Conversion from 'void*' to pointer to non-'void' requires an explicit cast
Что здесь происходит?GetModuleHandle
возвращает HMODULE
, и это задокументированный первый параметр для GetModuleFileName
.
Вот версия компилятора, для которой она стоит:
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
Спасибо!