Решение проблемы:
Надо поменять настройки папки "hide extensions for known file types".
// keep and set folder option (show/hide) extensions
SHELLFLAGSTATE sfs;
DWORD dwMask = SSF_SHOWEXTENSIONS;
SHGetSettings(&sfs, dwMask);
I1 opt_keep = sfs.fShowExtensions;
SHELLSTATE shellstate = {0};
shellstate.fShowExtensions = -1;
SHGetSetSettings(&shellstate, dwMask, TRUE);
CString strFilter = _T("Microsoft Excel Worksheet (.xls)|*.xls|CSV
(Comma Separated Values) (.csv)|*.csv|Text File (.txt)|*.txt|All Files (*.*)|*.*||");
CFileDialog dlg( FALSE,
_T("dat"),
_T("of3.12"),
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
strFilter,
NULL);
if(dlg.DoModal() == IDOK)
{
CString extstr = dlg.GetFileExt();
CString ttt2 = dlg.GetPathName();
}
// restore folder option (show/hide) extensions
shellstate.fShowExtensions = opt_keep;
SHGetSetSettings(&shellstate, dwMask, TRUE);
Спасибо за помощь