AfxInitRichEdit2() 返回 0

环境

Windows 2008 Server R2 + VS2012 SP1

(注:在WindowsXP + VS2008中返回正常)


winctrl4.cpp

BOOL PASCAL AfxInitRichEdit2()
{
_AFX_RICHEDIT_STATE* pState = _afxRichEditState;
if (pState->m_hInstRichEdit2 == NULL)
pState->m_hInstRichEdit2 = AtlLoadSystemLibraryUsingFullPath(L"RICHED20.DLL");
return pState->m_hInstRichEdit2 != NULL;
}

altcore.h

inline HMODULE AtlLoadSystemLibraryUsingFullPath(_In_z_ const WCHAR *pszLibrary)
{
#if (NTDDI_VERSION >= NTDDI_WIN8)
return(::LoadLibraryExW(pszLibrary, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32));
#else
WCHAR wszLoadPath[MAX_PATH+1];
if (::GetSystemDirectoryW(wszLoadPath, _countof(wszLoadPath)) == 0)
{
return NULL;
}


if (wszLoadPath[wcslen(wszLoadPath)-1] != L'\\')
{
if (wcscat_s(wszLoadPath, _countof(wszLoadPath), L"\\") != 0)
{
return NULL;
}
}


if (wcscat_s(wszLoadPath, _countof(wszLoadPath), pszLibrary) != 0)
{
return NULL;
}


return(::LoadLibraryW(wszLoadPath));
#endif
}

发现::LoadLibraryExW(pszLibrary, NULL, LOAD_LIBRARY_SEARCH_SYSTEM32) 返回空,无法加载到dll

网上搜索了N多方法,都没有用处。

最后直接更新VS2012

问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XRayser

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值