|
|
@ -108,7 +108,7 @@ static cv::String getModuleLocation(const void* addr) |
|
|
|
CV_UNUSED(addr); |
|
|
|
CV_UNUSED(addr); |
|
|
|
#ifdef _WIN32 |
|
|
|
#ifdef _WIN32 |
|
|
|
HMODULE m = 0; |
|
|
|
HMODULE m = 0; |
|
|
|
#if _WIN32_WINNT >= 0x0501 |
|
|
|
#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) |
|
|
|
::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, |
|
|
|
::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, |
|
|
|
reinterpret_cast<LPCTSTR>(addr), |
|
|
|
reinterpret_cast<LPCTSTR>(addr), |
|
|
|
&m); |
|
|
|
&m); |
|
|
@ -155,7 +155,7 @@ bool getBinLocation(std::wstring& dst) |
|
|
|
{ |
|
|
|
{ |
|
|
|
void* addr = (void*)getModuleLocation; // using code address, doesn't work with static linkage!
|
|
|
|
void* addr = (void*)getModuleLocation; // using code address, doesn't work with static linkage!
|
|
|
|
HMODULE m = 0; |
|
|
|
HMODULE m = 0; |
|
|
|
#if _WIN32_WINNT >= 0x0501 |
|
|
|
#if _WIN32_WINNT >= 0x0501 && (!defined(WINAPI_FAMILY) || (WINAPI_FAMILY == WINAPI_FAMILY_DESKTOP_APP)) |
|
|
|
::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, |
|
|
|
::GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, |
|
|
|
reinterpret_cast<LPCTSTR>(addr), |
|
|
|
reinterpret_cast<LPCTSTR>(addr), |
|
|
|
&m); |
|
|
|
&m); |
|
|
|