我在对话框中响应RichEdit2.0控件EN_LINK消息,代码如下:
void CMainDialog::OnRichEditExLink(NMHDR*   in_pNotifyHeader, LRESULT* out_pResult )
{
ENLINK* l_pENLink = ( ENLINK* )in_pNotifyHeader ;
*out_pResult = 0 ;
switch( l_pENLink->msg )
{
default:
{
}
break ; case WM_SETCURSOR:
{
if( m_crLink != NULL )
{
    ::SetCursor( m_crLink ) ; *out_pResult = 1 ;
}
}
break ; case WM_LBUTTONDOWN:
{
/********************************
                  ** 问题就出在这里!
                  ********************************/
                     CString l_URL;
CHARRANGE l_CharRange ; m_RichEditEx.GetSel( l_CharRange ) ;
m_RichEditEx.SetSel( l_pENLink->chrg ) ;
l_URL = m_RichEdit.GetSelText() ;
TRACE("%s\n", l_URL);
m_RichEditEx.SetSel( l_CharRange ) ;

CWaitCursor l_WaitCursor ; ShellExecute( this->GetSafeHwnd(), _T( "open" ), l_URL, NULL, NULL, SW_SHOWNORMAL ) ; *out_pResult = 1 ;
}
break ; case WM_LBUTTONUP:
{
*out_pResult = 1 ;
}
break ;
}
}    我已经通过SendMessage( m_hWnd, EM_AUTOURLDETECT, in_fEnable, 0 ) ;设置RichEdit控件为对URL敏感!    可是当鼠标点击URL的字符串时,结果只是打开执行程序所在的路径,并没有调用IE打开Web,通过追踪,当鼠标按下时,l_URL的值为空!!!
    我是在VC6。0+win2000的环境下编译的!请高手指点!