• C# IE环境


    前言

    IE问题:

    如何重置IE选项?

    通过修改注册表,理论上是可行的。前提是你知道重置IE时,有多少注册表项要更改。

    如果能直接调用IE的重置设置窗口,并执行重置,能完美重置IE。

    WshShell

    创建WshShell对象可以运行程序、操作注册表、创建快捷方式、访问系统文件夹、管理环境变量

    通过引用Microsoft.VisualBasic,初始化 dynamic shellObject = Interaction.CreateObject("WScript.Shell", "");

    Rundll32命令

    文件作用:执行32位DLL文件中的内部函数

    位置:X:(当前系统分区)windowssystem32

    命令语法: Rundll32.exe DLLname,Functionname [Arguments]

    实例: RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

    注:InetCpl.cpl是dll名称,ClearMyTracksByProcess是函数名,255

    详细,可参考:rundll32.exe命令使用大法

    重置IE-实现方案

    1. C#实现方案

     1 //打开IE设置-重置浏览器
     2 shellObject.Run("rundll32.exe inetcpl.cpl ResetIEtoDefaults");
     3 await Task.Delay(800);
     4 //选中删除个人设置
     5 shellObject.SendKeys("{P}");
     6 await Task.Delay(100);
     7 //选中确定
     8 shellObject.SendKeys("{TAB}");
     9 shellObject.SendKeys("{TAB}");
    10 shellObject.SendKeys("{R}");
    11 await Task.Delay(3000);
    12 //关闭设置
    13 shellObject.SendKeys("{ENTER}");

     2. 命令行/Bat文件

    或者,使用命令行,生成一个Bat文件,程序启动bat文件就行了。

     1 @echo off
     2 title 重置IE浏览器
     3 echo Set objAP = CreateObject("wscript.shell")>>ResetIE.vbs
     4 echo objAP.Run "rundll32.exe inetcpl.cpl ResetIEtoDefaults">>ResetIE.vbs
     5 echo wscript.sleep 800>>ResetIE.vbs
     6 echo objAP.AppActivate "Reset Internet Explorer Settings">>ResetIE.vbs
     7 echo objAP.SendKeys "{TAB}">>ResetIE.vbs
     8 echo objAP.SendKeys "{ }">>ResetIE.vbs
     9 echo wscript.sleep 800>>ResetIE.vbs
    10 echo objAP.SendKeys "{TAB}">>ResetIE.vbs
    11 echo objAP.SendKeys "{TAB}">>ResetIE.vbs
    12 echo objAP.SendKeys "{ }">>ResetIE.vbs
    13 echo wscript.sleep 3000>>ResetIE.vbs
    14 echo objAP.SendKeys "{ENTER}">>ResetIE.vbs
    15 cscript ResetIE.vbs
    16 echo/
    17 
    18 echo 已重置IE浏览器!
    19 del /q ResetIE.vbs
    20 
    21 pause

     Github地址:IE环境修复工具

    PS:重置IE能解决大部分IE环境问题,当然有些是处理不了的。比如

    1. 网页对IE版本的要求限制,需要升级IE版本。
    2. IE升级失败
  • 相关阅读:
    jquery mobile pages之间的跳转
    Javascript中this、prototype、constructor的理解
    javaScript的引号使用
    javaScript的事件
    我的css
    HTML5 canvas的事件
    java动态代理
    (转)面向对象的 JavaScript 编程:dojo.declare 详解
    Speex手册编解码介绍 中文翻译
    Android修改自己程序字体
  • 原文地址:https://www.cnblogs.com/kybs0/p/10914512.html
Copyright © 2020-2023  润新知