C#调用注册表,修改IE相关配置
来源:互联网 发布:二次元图片制作软件 编辑:程序博客网 时间:2024/05/01 05:41
最近在项目中遇到用C#调用注册表,修改IE选项高级选项卡中的“显示图片”复选框,用到的代码如下:
RegisterHelper.cs:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Microsoft.Win32; //添加针对操作注册表的应用
</pre><pre name="code" class="csharp"> public class RegisterHelper { /// <summary> /// 读取指定名称的注册表的值 /// </summary> /// <param name="root"></param> /// <param name="subKey"></param> /// <param name="name"></param> /// <returns></returns> public static string GetRegistryData(RegistryKey root, string subKey, string name) { string registData = string.Empty; RegistryKey myKey = root.OpenSubKey(subKey, true); if (myKey != null) { registData = myKey.GetValue(name).ToString(); } return registData; } /// <summary> /// 向注册表中写数据 /// </summary> /// <param name="root"></param> /// <param name="subKey"></param> /// <param name="keyName"></param> /// <param name="keyValue"></param> public static void SetRegistryData(RegistryKey root, string subKey, string keyName, string keyValue) { RegistryKey aimDir = root.CreateSubKey(subKey); aimDir.SetValue(keyName, keyValue); } /// <summary> /// 删除注册表中指定的注册项 /// </summary> /// <param name="root"></param> /// <param name="subKey"></param> /// <param name="keyName"></param> public static void DeleteRegist(RegistryKey root, string subKey, string keyName) { string[] subkeyNames; RegistryKey myKey = root.OpenSubKey(subKey, true); subkeyNames = myKey.GetSubKeyNames(); foreach (string aimKey in subkeyNames) { if (aimKey == keyName) myKey.DeleteSubKeyTree(keyName); } } /// <summary> /// 判断指定注册表项是否存在 /// </summary> /// <param name="root"></param> /// <param name="subKey"></param> /// <param name="keyName"></param> /// <returns></returns> public static bool IsRegistryExits(RegistryKey root, string subKey, string keyName) { bool result = false; string[] subKeyNames; RegistryKey myKey = root.OpenSubKey(subKey, true); subKeyNames = myKey.GetValueNames(); foreach (string name in subKeyNames) { if (name == keyName) { result = true; return result; } } return result; } }
调用方式:
需要引用以下命名空间
using System.Security.Principal; //用户获取Windows SID 引用using Microsoft.Win32;
//获取当前Windows用户 WindowsIdentity curUser = WindowsIdentity.GetCurrent(); //用户SID SecurityIdentifier sid = curUser.User; //用户全称 NTAccount ntacc = (NTAccount)sid.Translate(typeof(NTAccount)); Console.WriteLine("Windows SID:" + sid.Value); Console.WriteLine("用户全称:" + ntacc.Value); //IE选项中的“图片显示”操作在系统注册表中的路径为:HKEY_USERS\S-1-5-21-2145109174-1241497065-710993060-1001\Software\Microsoft\Internet Explorer\Main //这个注册表下这个键值“Display Inline Images”,设置为yes或no,其中“S-1-5-21-2145109174-1241497065-710993060-1001”为Windows SID信息,在客户端使用的时候 //需要先获取(每个机器会不同) //读注册表: //RegistryHelper rh = new RegistryHelper(); //string portName = rh.GetRegistryData(Registry.LocalMachine, "SOFTWARE\\TagReceiver\\Params\\SerialPort", "PortName"); //写注册表: //RegistryHelper rh = new RegistryHelper(); //rh.SetRegistryData(Registry.LocalMachine, "SOFTWARE\\TagReceiver\\Params\\SerialPort", "PortName", portName); //读取Display Inline Images string displayImgPath = sid.Value + @"\Software\Microsoft\Internet Explorer\Main"; string displayImgValue = RegisterHelper.GetRegistryData(Registry.Users, displayImgPath, "Display Inline Images"); //IE选择中的“显示图片”勾选 if (displayImgValue == "yes") { //改变yes为no,将IE选项中的“显示图片”设置为不可用 RegisterHelper.SetRegistryData(Registry.Users, displayImgPath, "Display Inline Images", "no"); //重新打开浏览器 } Console.ReadKey();
0 0
- C#调用注册表,修改IE相关配置
- C#修改注册表(IE),
- C#修改注册表 以修改IE代理服务器
- c#修改注册表(修改IE主页)
- AX控件IE相关注册表修改封装
- js、c#修改ie设置,针对注册表的修改
- 注册表修改ie主页
- python修改IE注册表
- 用Visual C#绘制个性化地IE浏览器(修改注册表)
- C#为IE添加可信任站点(注册表修改)
- 通过注册表修改IE设置
- 通过注册表修改IE设置
- 修改注册表设置ie主页
- 修改注册表锁定IE主页
- c# 注册表修改
- C# 修改注册表
- C# wm 注册表修改
- C#修改注册表
- ios学习之uisplitview的学习
- 求数组中频次超过一半的元素
- 第八周项目2 - 建立链串的算法库
- openstack gerrit的日常
- Activity生命周期相关测试
- C#调用注册表,修改IE相关配置
- 软件测试文档管理
- Timer和TimerTask详解
- 跟Android源码:获取文件的缓存大小
- Sodium: A Modern and Easy-to-Use Crypto Library
- 输出流程
- mysqldump + crontab 定时备份MySQL数据
- Codeforces 523C Name Quest
- 蓝懿iOS 技术内容和心得 10。20