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#实现方案
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环境问题,当然有些是处理不了的。比如
- 网页对IE版本的要求限制,需要升级IE版本。
- IE升级失败
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)