我想獲取一些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