我这里的vc2008 没有,全部搜索过了。 据说是在另外一个sdk中, 于是找了Headers and Libraries for Windows Internet Explorer 8,里面没有。
找到csdn几年前的一个帖子,蒋晟回帖的那些ms url全部无效了, 我在微软网站寻寻觅觅, 我抓狂了呀 

解决方案 »

  1.   

    #pragma warning( disable: 4049 )  /* more than 64k source lines *//* this ALWAYS GENERATED file contains the definitions for the interfaces */
     /* File created by MIDL compiler version 5.03.0279 */
    /* at Mon Jul 23 17:42:46 2001
     */
    /* Compiler settings for downloadmgr.idl:
        Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
        error checks: allocation ref bounds_check enum stub_data 
        VC __declspec() decoration level: 
             __declspec(uuid()), __declspec(selectany), __declspec(novtable)
             DECLSPEC_UUID(), MIDL_INTERFACE()
    */
    //@@MIDL_FILE_HEADING(  )
    /* verify that the <rpcndr.h> version is high enough to compile this file*/
    #ifndef __REQUIRED_RPCNDR_H_VERSION__
    #define __REQUIRED_RPCNDR_H_VERSION__ 440
    #endif#include "rpc.h"
    #include "rpcndr.h"#ifndef __RPCNDR_H_VERSION__
    #error this stub requires an updated version of <rpcndr.h>
    #endif // __RPCNDR_H_VERSION__#ifndef COM_NO_WINDOWS_H
    #include "windows.h"
    #include "ole2.h"
    #endif /*COM_NO_WINDOWS_H*/#ifndef __downloadmgr_h__
    #define __downloadmgr_h__/* Forward Declarations */ #ifndef __IDownloadManager_FWD_DEFINED__
    #define __IDownloadManager_FWD_DEFINED__
    typedef interface IDownloadManager IDownloadManager;
    #endif  /* __IDownloadManager_FWD_DEFINED__ */
    /* header files for imported files */
    #include "unknwn.h"
    #include "ocidl.h"#ifdef __cplusplus
    extern "C"{
    #endif void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
    void __RPC_USER MIDL_user_free( void __RPC_FAR * ); /* interface __MIDL_itf_downloadmgr_0000 */
    /* [local] */ //=--------------------------------------------------------------------------=
    // downloadmgr.h
    //=--------------------------------------------------------------------------=
    // (C) Copyright 2000 Microsoft Corporation.  All Rights Reserved.
    //
    // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
    // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
    // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
    // PARTICULAR PURPOSE.
    //=--------------------------------------------------------------------------=#pragma comment(lib,"uuid.lib")//---------------------------------------------------------------------------=
    // Internet Explorer Download Manager Interfaces// --------------------------------------------------------------------------------
    // GUIDS
    // --------------------------------------------------------------------------------
    // {988934A4-064B-11D3-BB80-00104B35E7F9}
    DEFINE_GUID(IID_IDownloadManager, 0x988934a4, 0x064b, 0x11d3, 0xbb, 0x80, 0x0, 0x10, 0x4b, 0x35, 0xe7, 0xf9);
    #define SID_SDownloadManager IID_IDownloadManagerextern RPC_IF_HANDLE __MIDL_itf_downloadmgr_0000_v0_0_c_ifspec;
    extern RPC_IF_HANDLE __MIDL_itf_downloadmgr_0000_v0_0_s_ifspec;#ifndef __IDownloadManager_INTERFACE_DEFINED__
    #define __IDownloadManager_INTERFACE_DEFINED__/* interface IDownloadManager */
    /* [local][unique][uuid][object][helpstring] */ 
    EXTERN_C const IID IID_IDownloadManager;#if defined(__cplusplus) && !defined(CINTERFACE)
        
        MIDL_INTERFACE("988934A4-064B-11D3-BB80-00104B35E7F9")
        IDownloadManager : public IUnknown
        {
        public:
            virtual HRESULT STDMETHODCALLTYPE Download( 
                /* [in] */ IMoniker __RPC_FAR *pmk,
                /* [in] */ IBindCtx __RPC_FAR *pbc,
                /* [in] */ DWORD dwBindVerb,
                /* [in] */ LONG grfBINDF,
                /* [in] */ BINDINFO __RPC_FAR *pBindInfo,
                /* [in] */ LPCOLESTR pszHeaders,
                /* [in] */ LPCOLESTR pszRedir,
                /* [in] */ UINT uiCP) = 0;
            
        };
        
    #else  /* C style interface */    typedef struct IDownloadManagerVtbl
        {
            BEGIN_INTERFACE
            
            HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
                IDownloadManager __RPC_FAR * This,
                /* [in] */ REFIID riid,
                /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
            
            ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
                IDownloadManager __RPC_FAR * This);
            
            ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
                IDownloadManager __RPC_FAR * This);
            
            HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Download )( 
                IDownloadManager __RPC_FAR * This,
                /* [in] */ IMoniker __RPC_FAR *pmk,
                /* [in] */ IBindCtx __RPC_FAR *pbc,
                /* [in] */ DWORD dwBindVerb,
                /* [in] */ LONG grfBINDF,
                /* [in] */ BINDINFO __RPC_FAR *pBindInfo,
                /* [in] */ LPCOLESTR pszHeaders,
                /* [in] */ LPCOLESTR pszRedir,
                /* [in] */ UINT uiCP);
            
            END_INTERFACE
        } IDownloadManagerVtbl;    interface IDownloadManager
        {
            CONST_VTBL struct IDownloadManagerVtbl __RPC_FAR *lpVtbl;
        };    #ifdef COBJMACROS
    #define IDownloadManager_QueryInterface(This,riid,ppvObject) \
        (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)#define IDownloadManager_AddRef(This) \
        (This)->lpVtbl -> AddRef(This)#define IDownloadManager_Release(This) \
        (This)->lpVtbl -> Release(This)
    #define IDownloadManager_Download(This,pmk,pbc,dwBindVerb,grfBINDF,pBindInfo,pszHeaders,pszRedir,uiCP) \
        (This)->lpVtbl -> Download(This,pmk,pbc,dwBindVerb,grfBINDF,pBindInfo,pszHeaders,pszRedir,uiCP)#endif /* COBJMACROS */
    #endif  /* C style interface */HRESULT STDMETHODCALLTYPE IDownloadManager_Download_Proxy( 
        IDownloadManager __RPC_FAR * This,
        /* [in] */ IMoniker __RPC_FAR *pmk,
        /* [in] */ IBindCtx __RPC_FAR *pbc,
        /* [in] */ DWORD dwBindVerb,
        /* [in] */ LONG grfBINDF,
        /* [in] */ BINDINFO __RPC_FAR *pBindInfo,
        /* [in] */ LPCOLESTR pszHeaders,
        /* [in] */ LPCOLESTR pszRedir,
        /* [in] */ UINT uiCP);
    void __RPC_STUB IDownloadManager_Download_Stub(
        IRpcStubBuffer *This,
        IRpcChannelBuffer *_pRpcChannelBuffer,
        PRPC_MESSAGE _pRpcMessage,
        DWORD *_pdwStubPhase);#endif  /* __IDownloadManager_INTERFACE_DEFINED__ */
    /* Additional Prototypes for ALL interfaces *//* end of Additional Prototypes */#ifdef __cplusplus
    }
    #endif#endif
      

  2.   

    对应的IDL如下://+-------------------------------------------------------------------------
    //
    //  Microsoft Windows
    //  Copyright 1995-2000 Microsoft Corporation. All Rights Reserved.
    //
    //--------------------------------------------------------------------------cpp_quote("//=--------------------------------------------------------------------------=")
    cpp_quote("// downloadmgr.h")
    cpp_quote("//=--------------------------------------------------------------------------=")
    cpp_quote("// (C) Copyright 2000 Microsoft Corporation.  All Rights Reserved.")
    cpp_quote("//")
    cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
    cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
    cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
    cpp_quote("// PARTICULAR PURPOSE.")
    cpp_quote("//=--------------------------------------------------------------------------=")
    cpp_quote("")
    cpp_quote("#pragma comment(lib,\"uuid.lib\")")
    cpp_quote("")
    cpp_quote("//---------------------------------------------------------------------------=")
    cpp_quote("// Internet Explorer Download Manager Interfaces")
    cpp_quote("")
    cpp_quote("// --------------------------------------------------------------------------------")
    cpp_quote("// GUIDS")
    cpp_quote("// --------------------------------------------------------------------------------")
    cpp_quote("// {988934A4-064B-11D3-BB80-00104B35E7F9}")
    cpp_quote("DEFINE_GUID(IID_IDownloadManager, 0x988934a4, 0x064b, 0x11d3, 0xbb, 0x80, 0x0, 0x10, 0x4b, 0x35, 0xe7, 0xf9);")
    cpp_quote("#define SID_SDownloadManager IID_IDownloadManager")#ifndef DO_NO_IMPORTS
    import "unknwn.idl";
    import "ocidl.idl";
    import "oleidl.idl";
    import "oaidl.idl";
    #endif
    interface IDownloadManager;
    [
        helpstring("IDownloadManager interface"),
        object,
        uuid(988934A4-064B-11D3-BB80-00104B35E7F9), // IID_IDownloadManager
        pointer_default(unique),
        local
    ]
    interface IDownloadManager : IUnknown
    {
        HRESULT Download(
            [in] IMoniker *pmk,         // Identifies the object to be downloaded
            [in] IBindCtx *pbc,         // Stores information used by the moniker to bind 
            [in] DWORD dwBindVerb,      // The action to be performed during the bind
            [in] LONG grfBINDF,         // Determines the use of URL encoding during the bind
            [in] BINDINFO *pBindInfo,   // Used to implement IBindStatusCallback::GetBindInfo
            [in] LPCOLESTR pszHeaders,  // Additional headers to use with IHttpNegotiate
            [in] LPCOLESTR pszRedir,    // The URL that the moniker is redirected to
            [in] UINT uiCP              // The code page of the object's display name
        );
    };
      

  3.   

    http://www.codeproject.com/KB/atl/vbmhwb.aspx?fid=180355&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=151#Brief%20Explanation%20of%20Classes
      

  4.   

    For Internet Explorer 6
    http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/libraries/ie6_lib/default.asp不过这个资源好像有时不能访问,不知道MS搞什么
      

  5.   

    微软搞什么啊……首先谢谢KeSummer,但是你得告诉我你哪里来的文件啊,我google了N久,能找到就不用来这里发帖子了谢谢oyljerry,你给的两个url我之前都看过的了,能找到或打得开,我就不用求助了
      

  6.   

    http://www.microsoft.com/downloads/details.aspx?FamilyId=0cdb3644-d0d8-40f6-beff-47af3148d20a&displaylang=en
      

  7.   

    jiangsheng
    你终于来了,你这个链接的文件我记得是下载过了啊,没有这个接口的定义,
    你这个链接我刚才再下载了一遍,搜索所有文件字符串IDownloadManager都没出现任何结果,
    奇怪,你确定这个有?
      

  8.   

    这个都没有的?
    记得pocket pc的SDK里面有,去下个看看
      

  9.   

    晕, ie的接口怎么跑到pocket pc去了,为个接口还得去下载那个百多兆的玩意,我的气又上来了
      

  10.   

    那个是IE5.5的SDK~~http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/libraries/ie55_lib/default.asp 本文分步介绍了如何在 Microsoft Internet Explorer 5.5 和 Microsoft Internet Explorer 6 中实现自定义下载管理器。 使用此功能,可以扩展的 Internet Explorer 功能,并通过实现组件对象模型 (COM) 对象的 WebBrowser 应用程序能够处理该文件下载进程。 通过实现自定义下载管理器中,WebBrowser 应用程序或 Internet Explorer 可以扩展以显示自定义用户界面。 下载管理器作为 COM 对象公开 IUnknown 接口和 IDownloadManager 接口的实现。 IDownloadManager 具有只有一个的方法, IDownloadManager::Download 。 将 IDownloadManager::Download 调用方法通过 Internet Explorer 或一个 WebBrowser 下载文件的应用程序。 下载 WebBrowser 应用程序中选择一个文件时, 两种方式之一访问自定义下载管理器: 
    在 Internet Explorer 5.5 和更高版本中,如果 IServiceProvider 接口的 IServiceProvider::QueryService 方法实现,WebBrowser 应用程序首先调用 IServiceProvider::QueryService 检索 IDownloadManager 接口指针。 IServiceProvider::QueryService 方法一可能实现请参阅本文的"代码示例"一节。
    为 Internet Explorer 6 和更高版本,如果 WebBrowser 控件应用程序未实现该 IServiceProvider::QueryService 方法或当您使用本身 (在 Internet Explorer 中无法实现 IServiceProvider::QueryService ) 的 Internet Explorer,应用程序检查注册表值,该下载管理器的包含类标识符 (CLSID) COM 对象。 CLSID 可以提供以下注册表值之一: 
    \HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\DownloadUI
    \HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\DownloadUI请注意 DownloadUI 是一个 String 值。 值是下载管理器的 COM 对象的 CLSID。
    一个详细的实现请参阅文章的"的代码示例"一节。请注意 当您右键单击一个链接,然后单击 目标另存为 不起作用了 IServiceProvider 方法。 注册下载管理器 DLL 始终工作。
    回到顶端
    要求
    以下列表概述了推荐使用的硬件、 软件、 网络的基础结构和所需该过程的服务包: 
    Microsoft Visual Studio 6 
    Microsoft Internet Explorer 5.5 Service Pack 2 及更高版本 
    回到顶端
    下载邮件头和库
    您必须下载 Internet Explorer 5.5 和 Internet Explorer 6 的 Internet Explorer 的标题和库,然后将它们添加到包含和库目录中。 为此,请访问下面的 Microsoft Developer Network (MSDN) Web 站点:为 Internet Explorer 5.5 
    http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/libraries/ie55_lib/default.asp (http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/libraries/ie55_lib/default.asp) 
    Internet Explorer 6 
    http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/libraries/ie6_lib/default.asp (http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/libraries/ie6_lib/default.asp) 
    回到顶端
    代码示例
    Internet Explorer 5.5 
    // This is a custom download manager implementation for Internet Explorer 5.5 SP2.
    #include "downloadmgr.h"
    STDMETHOD(QueryService)(REFGUID guidService,REFIID riid,void** ppv)
    {
        HRESULT hr = E_NOINTERFACE;   
        if (guidService == SID_SDownloadManager && riid == IID_IDownloadManager)
        {
            // Create a new CDownloadMgr object by using ATL.
            CComObject<CDownloadMgr>* pDownloadMgr;
            hr = CComObject<CDownloadMgr>::CreateInstance(&pDownloadMgr);
            // Query the new CDownloadMgr object for the IDownloadManager interface.
            hr = pDownloadMgr->QueryInterface(IID_IDownloadManager, ppv);
            // Call the Download method.        // -or-
         
            // Call the Download method directly if you implement it in this class.
            // Download(NULL,NULL,0,0,NULL,NULL,NULL,0);
            // hr = S_OK;
        }    return hr;
    }
    Internet Explorer 6 
    // This is the custom download manager implementation for Internet Explorer 6 or later.
    // In the .h file of the COM DLL.
    #include "downloadmgr.h"
    STDMETHOD(Download)(IMoniker* pmk,
    IBindCtx* pbc,
    DWORD dwBindVerb,
    LONG grfBINDF,
    BINDINFO* pBindInfo,
    LPCOLESTR pszHeaders,
    LPCOLESTR pszRedir,
    UINT uiCP );
    // In the .cpp file.
    STDMETHODIMP CDownload::Download(IMoniker* pmk,
    IBindCtx* pbc,
    DWORD dwBindVerb,
    LONG grfBINDF,
    BINDINFO* pBindInfo,
    LPCOLESTR pszHeaders,
    LPCOLESTR pszRedir,
    UINT uiCP )
    {
    ::MessageBox(NULL,"Download","Download Manager",MB_OK);
    return S_OK;
    }
    回到顶端
      

  11.   

    在这个连接:
    http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/Downloads/samples/Internet/libraries/ie55_lib/default.asp 其实那个.h文件是.idl编译得来的~~
      

  12.   

    不可思议,这个文件在IE6_lib.exe, 却不在IE8rc1lib.exe,IE6_lib.exe是个将近绝迹的东西, 微软的网站没有了,网络上几乎找不到了,幸好在韩国某个人的类似网络u盘上发现有一物是此文件名,
    http://ecubic.net/download.aspx?boardtable=pds&vno=75&field=attachfdown1&file=pds\200602\ie6_lib.exe
      

  13.   

    用迅雷下:http://download.microsoft.com/download/6/8/3/683DB9FE-8D61-4A3C-B7B8-3169FF70AE9F/ie55_lib.exe
      

  14.   


    google搜索,第一页就有了。lingll的CSDN BLOG上就有了。呵呵。。
      

  15.   

    我的VS2005里都有。$(VSInstallDir)SmartDevices\SDK\PocketPC2003\Include
      

  16.   


    这个项目怎么编译不过去啊? 最初是缺少#include <downloadmgr.h>,加入$(VSInstallDir)SmartDevices\SDK\PocketPC2003\Include后,出了一堆错误