C#的webbrower控件过滤图片、Flash、声音、JS等的方法

C#的webbrower控件过滤图片、Flash、声音、JS等的方法。作用我就不说了,编程是方便你自己的……请看代码。。

 [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid("79eac9ec-baf9-11ce-8c82-00aa004ba90b")]
    
public interface IInternetProtocolInfo 
    {
    [PreserveSig()] UInt32 ParseUrl( 
    [ MarshalAs(UnmanagedType.LPWStr)] 
string pwzUrl,
        
/* [in] */ PARSEACTION ParseAction,
        UInt32 dwParseFlags,
        IntPtr pwzResult,
        UInt32 cchResult,
        
out UInt32 pcchResult,
        UInt32 dwReserved);
        
    [PreserveSig()] UInt32 CombineUrl( 
        [ MarshalAs(UnmanagedType.LPWStr)] 
string pwzBaseUrl,
        [ MarshalAs(UnmanagedType.LPWStr)] 
string pwzRelativeUrl,
        UInt32 dwCombineFlags,
        IntPtr pwzResult,
        UInt32 cchResult,
        
out UInt32 pcchResult,
        UInt32 dwReserved);
        
    [PreserveSig()] UInt32 CompareUrl( 
        [ MarshalAs(UnmanagedType.LPWStr)] 
string pwzUrl1,
        [ MarshalAs(UnmanagedType.LPWStr)] 
string pwzUrl2,
        UInt32 dwCompareFlags);
        
    [PreserveSig()] UInt32 QueryInfo( 
        [ MarshalAs(UnmanagedType.LPWStr)] 
string pwzUrl,
        QUERYOPTION OueryOption,
        UInt32 dwQueryFlags,
        IntPtr pBuffer,
        UInt32 cbBuffer,
        
ref UInt32 pcbBuf,
        UInt32 dwReserved);
    }


    [ComImport]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid("79eac9e7-baf9-11ce-8c82-00aa004ba90b")]
    
public interface IInternetSession
    {
        
void CreateBinding(); // Not Implemented
        void GetCache(); // Not Implemented
        void GetSessionOption(); // Not Implemented
        void RegisterMimeFilter([MarshalAs(UnmanagedType.Interface)] IClassFactory pCF, ref Guid rclsid, [MarshalAs(UnmanagedType.LPWStr)]string pwzType);
        
void RegisterNameSpace([MarshalAs(UnmanagedType.Interface)] IClassFactory pCF, ref Guid rclsid, [MarshalAs(UnmanagedType.LPWStr)] string pwzProtocol,
                               UInt32 cPatterns, [MarshalAs(UnmanagedType.LPWStr)] 
string ppwzPatterns, UInt32 dwReserved);
        
void SetCache(); // Not Implemented
        void SetSessionOption(); // Not Implemented
        void UnregisterMimeFilter(IClassFactory pCF, [MarshalAs(UnmanagedType.LPWStr)] string pwzType);
        
void UnregisterNameSpace(IClassFactory pCF, [MarshalAs(UnmanagedType.LPWStr)] string pwzProtocol);
    }


    [ComImport]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid(
"79EAC9E5-BAF9-11CE-8C82-00AA004BA90B")]
    
public interface IInternetProtocolSink
    {
        
void Switch(IntPtr pProtocolData);
        
void ReportProgress(UInt32 ulStatusCode, [MarshalAs(UnmanagedType.LPWStr)] string szStatusText);
        
void ReportData(UInt32 grfBSCF, UInt32 ulProgress, UInt32 ulProgressMax);
        
void ReportResult(Int32 hrResult, UInt32 dwError, [MarshalAs(UnmanagedType.LPWStr)] string szResult);
    }

    [ComImport]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid(
"79EAC9E4-BAF9-11CE-8C82-00AA004BA90B")]
    
public interface IInternetProtocol : IInternetProtocolRoot
    {
        
void LockRequest(Int32 dwOptions);
        [PreserveSig]
        Int32 Read(IntPtr pv, UInt32 cb, 
out UInt32 pcbRead);
        
void Seek(Int64 dlibMove, UInt32 dwOrigin, out UInt64 plibNewPosition);
        
void UnlockRequest();
    }

    [ComImport]
    [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    [Guid(
"79EAC9E3-BAF9-11CE-8C82-00AA004BA90B")]
    
public interface IInternetProtocolRoot
    {
        
void Abort(Int32 hrReason, Int32 dwOptions);
        
void Continue(IntPtr pProtocolData);
        
void Resume();
        
void Start([MarshalAs(UnmanagedType.LPWStr)] string szUrl, IInternetProtocolSink pOIProtSink,
                   IntPtr pOIBindInfo, UInt32 grfPI, IntPtr dwReserved);
        
void Suspend();
        
void Terminate(Int32 dwOptions);
    }


    [Guid(
"EFA14C17-7854-4fe2-AF94-856A9714A7B7")]
    
public interface IMhtHandler : IInternetProtocol, IInternetProtocolRoot, IInternetProtocolInfo
    {

    }

    [Guid(
"B59A934A-A06D-4fa1-9AD3-49AEA12235A4"), InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
    
public interface IMhtHandler_Events 
    {
    
    }


    
public enum PI_FLAGS:uint
    {
        PI_PARSE_URL            
= 0x00000001,
        PI_FILTER_MODE          
= 0x00000002,
        PI_FORCE_ASYNC          
= 0x00000004,
        PI_USE_WORKERTHREAD     
= 0x00000008,
        PI_MIMEVERIFICATION     
= 0x00000010,
        PI_CLSIDLOOKUP          
= 0x00000020,
        PI_DATAPROGRESS         
= 0x00000040,
        PI_SYNCHRONOUS          
= 0x00000080,
        PI_APARTMENTTHREADED    
= 0x00000100,
        PI_CLASSINSTALL         
= 0x00000200,
        PI_PASSONBINDCTX        
= 0x00002000,
        PI_NOMIMEHANDLER        
= 0x00008000,
        PI_LOADAPPDIRECT        
= 0x00004000,
        PD_FORCE_SWITCH         
= 0x00010000,
        PI_PREFERDEFAULTHANDLER 
= 0x00020000
    }


    
public enum BSCF : uint
    {
        BSCF_FIRSTDATANOTIFICATION 
= 0,
        BSCF_INTERMEDIATEDATANOTIFICATION 
= 1,
        BSCF_LASTDATANOTIFICATION 
= 2,
        BSCF_DATAFULLYAVAILABLE 
= 3,
        BSCF_AVAILABLEDATASIZEUNKNOWN 
= 4,
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值