项目需要,网上找不到能用的代码,买了几个也不好用,后来受一篇帖子启发自己编了一个,完美解决!
//取得RTF中文本,成功返还true,失败返还false,wScr可以与wDest相同
bool Rtf2Txt(WCHAR wScr[],WCHAR wDest[],int lDest)
{
HMODULE hInstRich = ::LoadLibrary(L"RICHED20.DLL");
if (hInstRich == NULL)
return false;
CFrameWnd* pFrame = new CFrameWnd();
if (pFrame->Create(NULL, L"ForRtf") == FALSE)
return false;
CRichEditCtrl ctrlRichEdit;
RECT r = { 0 };
if (ctrlRichEdit.Create(WS_CHILD | ES_MULTILINE | WS_VISIBLE, r, pFrame, 0) == false)
return false;
ctrlRichEdit.SetSel(0, -1);
ctrlRichEdit.ReplaceSel(wScr);
CString cs;
ctrlRichEdit.GetWindowTextW(wDest, lDest);
ctrlRichEdit.DestroyWindow();
pFrame->DestroyWindow();
FreeLibrary(hInstRich);
hInstRich = NULL;
return true;
}