先不要管这样做的必要性, 能不能讲一下, 
可不可以实现的说 ~~ 多谢了~  当然我个人好象没见过这种用法的说 ~
再谢~~ 

解决方案 »

  1.   

    CComQIPtr<IWebBrowser2> m_spBrowser;
    CAxWindow content_wnd;
    ......
    if(  _tcslen(m_tcHtmlFileName) > 0 )
    {
    RECT rc;
    GetClientRect( &rc );
    if(m_spBrowser==NULL)
    {
    LPOLESTR pstrbrowserid;
    StringFromCLSID(IID_IWebBrowser2,&pstrbrowserid);
    _bstr_t bstrbrowser(pstrbrowserid);
    CoTaskMemFree(pstrbrowserid);
    if(content_wnd.IsWindow())
    content_wnd.DestroyWindow();
    content_wnd.Create( m_hWnd, rc, LPCTSTR(bstrbrowser), WS_CHILD&brvbar;WS_VISIBLE&brvbar;WS_HSCROLL&brvbar;WS_VSCROLL );//create a browser control
    HRESULT hrbrowser;
    hrbrowser = content_wnd.QueryControl( IID_IWebBrowser2, reinterpret_cast<void**>(&m_spBrowser) );
    }#import "c:\winnt\system32\mswinsck.ocx" no_namespace
    ...
    IMSWinsockControlPtr pWinsock;
    _bstr_t pstr("mswinsock.winsock");
    CLSID clsidwinsock;
    CLSIDFromProgID(pstr,&clsidwinsock);
    pWinsock.CreateInstance(clsidwinsock);
    if(pWinsock)
    {
    pWinsock->RemotePort=13;
    pWinsock->RemoteHost=_bstr_t("time-a.nist.gov");
    _variant_t varoptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
    HRESULT hr= pWinsock->Connect();
    if(FAILED(hr))
    MessageBox(NULL,"failed","failed",MB_OK);
    ......pWinsock->Close();
    }
    else
    MessageBox(NULL,"can not create winsock","error",MB_OK);
      

  2.   

    我的具体问题是: (FT! 不是我自己的, 帮别人问的)要把一个 播放控件 做到 dll 里去, 然后就可以 由其它,比如 Dephi,
    调用这个 dll 里的播放函数~ 。 汗~~ 
    能不能告诉可不可以实现的说~ , 有什么应该注意一下啊~ 
    他好象只能这么做, 不能直接使用控件的说~ 
      

  3.   

    我觉得没什么难度吧,我用VC写DLL时就用了另一个VC写的控件
      

  4.   

    那么有什么应该注意的呢? 
    其实我也确实试验过, 但是在 exe 里可以用的,
    一样的函数(指把调用 播放控件的函数 封装起来),
    在 dll  里, 就不能播放了~~~ 汗~ 看不出任何原因的说~