モジュールのバージョン情報をC++コード(基本的にthis)で取得しようとしていますが、コンパイル時にエラーが発生しています。ここでは、コードです:GetModuleFileNameWのキャスティングエラー
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.
ありがとう!これは、コンパイルし、ここでは正常に動作するので
あなたはそれが右のコードと、右の誤りだと確信していますか? 'GetModuleFileName'呼び出しの' module'は既に 'HMODULE'型です。 – jamesdlin