C# IE环境 - 重置IE(WshShell & Rundll32)
前言
IE问题:
如何重置IE选项?
通过修改注册表,理论上是可行的。前提是你知道重置IE时,有多少注册表项要更改。
如果能直接调用IE的重置设置窗口,并执行重置,能完美重置IE。
WshShell
创建WshShell对象可以运行程序、操作注册表、创建快捷方式、访问系统文件夹、管理环境变量
通过引用Microsoft.VisualBasic,初始化 dynamic shellObject = Interaction.CreateObject("WScript.Shell", "");
Rundll32命令
文件作用:执行32位DLL文件中的内部函数
位置:X:(当前系统分区)\windows\system32
命令语法: Rundll32.exe DLLname,Functionname [Arguments]
实例: RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255
注:InetCpl.cpl是dll名称,ClearMyTracksByProcess是函数名,255
详细,可参考:rundll32.exe命令使用大法
重置IE-实现方案
1. C#实现方案
//打开IE设置-重置浏览器
shellObject.Run("rundll32.exe inetcpl.cpl ResetIEtoDefaults");
await Task.Delay();
//选中删除个人设置
shellObject.SendKeys("{P}");
await Task.Delay();
//选中确定
shellObject.SendKeys("{TAB}");
shellObject.SendKeys("{TAB}");
shellObject.SendKeys("{R}");
await Task.Delay();
//关闭设置
shellObject.SendKeys("{ENTER}");
2. 命令行/Bat文件
或者,使用命令行,生成一个Bat文件,程序启动bat文件就行了。
@echo off
title 重置IE浏览器
echo Set objAP = CreateObject("wscript.shell")>>ResetIE.vbs
echo objAP.Run "rundll32.exe inetcpl.cpl ResetIEtoDefaults">>ResetIE.vbs
echo wscript.sleep >>ResetIE.vbs
echo objAP.AppActivate "Reset Internet Explorer Settings">>ResetIE.vbs
echo objAP.SendKeys "{TAB}">>ResetIE.vbs
echo objAP.SendKeys "{ }">>ResetIE.vbs
echo wscript.sleep >>ResetIE.vbs
echo objAP.SendKeys "{TAB}">>ResetIE.vbs
echo objAP.SendKeys "{TAB}">>ResetIE.vbs
echo objAP.SendKeys "{ }">>ResetIE.vbs
echo wscript.sleep >>ResetIE.vbs
echo objAP.SendKeys "{ENTER}">>ResetIE.vbs
cscript ResetIE.vbs
echo/ echo 已重置IE浏览器!
del /q ResetIE.vbs pause
Github地址:IE环境修复工具
PS:重置IE能解决大部分IE环境问题,当然有些是处理不了的。比如
- 网页对IE版本的要求限制,需要升级IE版本。
- IE升级失败
C# IE环境 - 重置IE(WshShell & Rundll32)的更多相关文章
- C# IE环境 - 重置IE( 注册表)
IE设置,都可以通过注册表,修改.以下是一些常用的IE设置注册表修改~ 检查证书吊销 /// <summary> /// 检查证书是否吊销 /// </summary> /// ...
- sudo执行脚本找不到环境变量
sudo执行脚本找不到变量 问题 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能 ...
- sudo执行脚本找不到环境变量和命令
简介 变量 普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下: ...
- Kubeadm部署K8S(kubernetes)集群(测试、学习环境)-单主双从
1. kubernetes介绍 1.1 kubernetes简介 kubernetes的本质是一组服务器集群,它可以在集群的每个节点上运行特定的程序,来对节点中的容器进行管理.目的是实现资源管理的自动 ...
- PostgreSql sql shell win10 下乱码解决
重现步骤: 打开 SQL Shell (psql) Server [localhost]: Database [postgres]: Port ]: Username [postgres]: psql ...
- RHCE认证考前辅导
一一:Linux认证题库详细说明 注意事项 (1) RHCSA上午2.5小时,RHCE下午3.5小时,考生需对题目非常熟练. (2) 5样东西必带(身份证.1支黑色水笔.常用邮箱.姓名拼音.聪明的脑袋 ...
- HTML5游戏 看你有多“色” 开发
所有文章搬运自我的个人主页:sheilasun.me 在极客学院看到了这个游戏,在网上找到这个游戏玩了好久真的比较上瘾,于是自己也试着做了一下,可以戳这里试玩→看你有多色 游戏规则: 找出颜色不同的方 ...
- VS2010_慢
ZC:IntelliSense 一旦关闭,代码提示 也就没有了... ZC:IntelliSense 和 IntelliTrace,不是一个东西... 1.http://blog.csdn.net/c ...
- 在CentOS上以源码编译的方式安装Greenplum数据库
集群组成: 一台主机,一台从节点. 系统环境: 操作系统:CentOS 7,64位,7.4.1708(/etc/redhat-release中查看) CPU:AMD Fx-8300 8核 内存:8GB ...
随机推荐
- Java多线程系列 基础篇02 线程的创建和运行
1.线程创建的方式常用有两种 1. 继承 Thread 类创建线程 2. 实现 Runnable 接口创建线程 2.Thread 和 Runnable的区别 Thread和Runnable的相同点:都 ...
- Java对象 的创建与构造方法
一.创建对象的四种方法: a. new语句: b. 利用反射,调用描述类的Class对象的newInstance()实例方法: c. 调用对象的clone(): d. 反序列化: 其中new 和 ne ...
- HDU4825 Xor Sum —— Trie树
题目链接:https://vjudge.net/problem/HDU-4825 Xor Sum Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- 使用 DNSPOD API 实现域名动态解析
0. 简单概述在家里放一个 NAS 服务器,但是宽带的 IP 地址经常改变,一般路由器自带的花生壳域名解析可以解决,如果路由器没有类似功能或者想使用自己的域名,可以尝试使用 DNSPOD API 来实 ...
- (转)select、poll、epoll之间的区别总结[整理]
select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作.但select ...
- xxx referenced from: xxx in xxx.o
情形一:可能是有一些源码文件没有加入工程所导致的,找到相应的.h和.m文件,将其add进入项目工程即可解决这种问题. 情形二:也有可能是某些framework没有加入项目中, 示例: Undefi ...
- vue实现图片的上传和删除
目录 1 UI库使用ElementUI 2 后端使用Express + formidable模块 1 UI库使用ElementUI 安装ElementUI $ npm install --save-d ...
- mina2中的线程池
一.Mina中的线程池模型 前面介绍了Mina总体的层次结构,那么在Mina里面是怎么使用Java NIO和进行线程调度的呢?这是提高IO处理性能的关键所在.Mina的线程调度原理主要如下图所示: A ...
- Nuget:RQCode
ylbtech-Nuget:QRCode 1.返回顶部 1. https://www.nuget.org/packages?q=qrcode 2. 2.qrcode.js返回顶部 1. https:/ ...
- 三层架构与MVC比较:
三层架构与MVC比较: 1.两者不是同一概念 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目. 那么架构跟设计模式 ...