zoukankan      html  css  js  c++  java
  • WebBrowser Control(三)Privacy Alert对话框

    • WebBrowser Control浏览网页过程中会跳出如下对话框:

    • 此对话框大体意思是提示需要保存cookies数据在本地,需用户确认。
    • 如何禁止弹出此对话框:
      1. 在IInternetSecurityManager::ProcessUrlAction中允许或禁止cookie相关URL action(但悲催的是进行cookie相关操作时,此函数没有被调用。。。)
         1 if(URLACTION_COOKIES_THIRD_PARTY == dwAction ||
        2 URLACTION_COOKIES_SESSION_THIRD_PARTY == dwAction ||
        3 URLACTION_COOKIES_SESSION == dwAction ||
        4 URLACTION_COOKIES_ENABLED == dwAction ||
        5 URLACTION_COOKIES == dwAction)
        6 {
        7 dwPolicy = URLPOLICY_DISALLOW;
        8 *(DWORD*)pPolicy = dwPolicy;
        9 return S_OK;
        10 }
      2. 一种偷懒的办法是把所有URL都映射到URLZONE_UNTRUSTED(禁止cookie)或URLZONE_LOCAL_MACHINE(允许cookie):
        1 STDMETHOD (MapUrlToZone)(LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags)
        2 {
        3 *pdwZone = URLZONE_UNTRUSTED;//URLZONE_LOCAL_MACHINE;
        4 return S_OK;
        5 }
      3. 还有一种办法是修改注册表(包括前面文章的提交数据表单时的对话框,也可以用此方法):
        • HKEY_LOCAL_MACHINE//Software//Microsoft//Windows//CurrentVersion//Internet Settings//zones//3
        • #define URLACTION_COOKIES_THIRD_PARTY                          0x00001A05
          #define URLPOLICY_ALLOW                0x00
          #define URLPOLICY_QUERY                0x01
          #define URLPOLICY_DISALLOW             0x03
      4. 参考:
        1. IInternetSecurityManager and cookies
        2. About URL Security Zones
  • 相关阅读:
    单例和静态类
    Aggregate
    lc.exe已退出代码为1
    MVC 使用entity framework 访问数据库 发布IIS
    MVC 发布
    Nhiberate (三)测试
    Nhiberate (二) 搭项目
    初次安装git配置
    十大Intellij IDEA快捷键(转)
    Git强制覆盖master分支
  • 原文地址:https://www.cnblogs.com/dahai/p/2215648.html
Copyright © 2011-2022 走看看