Process、管理者权限、注册表、xml修改
//判断是否有管理者权限
WindowsPrincipal principal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
if (!principal.IsInRole(WindowsBuiltInRole.Administrator))
{
return;
}
//检索指定路径的注册表,true为写访问权限。
RegistryKey softwareKey = Registry.CurrentUser.OpenSubKey(@"Software\软件名\10.0\Test",true);
//获取指定注册表键值
object obj = softwareKey.GetValue("CliUpdate");
if (softwareKey.GetValue("CliUpdate") != null && obj.ToString() == "ZK")
{
return;
}
string processName = "进程名称";
//根据名称获取进程
var result = Process.GetProcesses().FirstOrDefault(o => { return o.ProcessName.Contains(processName); });
if (result != null)
{
//Process.MainModule 需要管理者权限 才能获取
string path = Path.GetDirectoryName(result.MainModule.FileName);//通过路径返回目录
string goalFile = Path.Combine(path, "XXXXX.config");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(goalFile);
XmlNode xnode = xmlDoc.SelectSingleNode("Config/RemoteUrl");//获取相关节点
if (xnode != null)
{
//修改节点值
xnode.InnerText = "www.baidu.com";
xmlDoc.Save(goalFile);
//添加注册表新的键
softwareKey.CreateSubKey("CliUpdate");
softwareKey.SetValue("CliUpdate", "ZK");
}
}
关于获取32位和64位注册表方法
//获取64位注册表
var softwareKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
softwareKey.OpenSubKey(@"Software\软件名\10", false);
//获取32位注册表
softwareKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32);
softwareKey.OpenSubKey(@"Software\软件名\10", false)
Process、管理者权限、注册表、xml修改的更多相关文章
- 修改注册表来修改IE的设置---资料汇总
原文链接: http://blog.csdn.net/wangqiulin123456/article/details/17068649 附带批处理执行脚本: @echo off &title ...
- [No000017F]如何监控注册表的修改
今天我们将向您展示如何使用我们最喜欢的工具之一Proc Mon,在您更改PC上的组策略设置时查看编辑的注册表项. 使用Proc Mon查看组策略对象修改的注册表设置 您要做的第一件事就是从Sys In ...
- Windows注册表中修改UAC(用户账号控制)及批处理脚本
注册表路径: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System 键说明: ConsentProm ...
- Oracle 客户端注册表字符集修改-----解决乱码 .
本地ORACLE连接创建好后,默认是GBK的字符集,如果连接服务器不是同样的GBK字符集就会出现中文乱码的问题,这种情况我们需要修改本地的字符集来和服务器匹配. 通过注册表修改 HKEY_LOCA ...
- Windows注册表中修改CMD默认路径
一.开启注册表“win键+R键”并输入regedit 二.在注册表项 HKEY_CURRENT_USER\ Software\ Microsoft\ Command Processor 新建一个项,并 ...
- Unity中对注册表进行修改
问题背景: PC端软件开发,当我在Unity中的PlayerSetting中设置好分辨率,每次打包运行后会记忆上次退出时窗口的分辨率(记忆窗口状态),导致下次打开时不是PlayerSetting中的初 ...
- python 用win32修改注册表,修改打开IE浏览器的配置
打开注册表:win+r, regedit,注册表的管理是按照文件夹的形式的. 注册表总共有五项: HKEY_CLASSES_ROOT 是HKEY_LOCAL_MACHINE\Software的子项,保 ...
- 获取Host文件权限 注册表导入
Windows Registry Editor Version 5.00 ;取得文件修改权限 [HKEY_CLASSES_ROOT\*\shell\runas] @="管理员权限" ...
- python通过操作windows系统注册表方式修改环境变量
#coding=utf8 import os import sys from subprocess import check_call if sys.hexversion > 0x0300000 ...
- 注册表法修改IE8安全级别的方法
最近写客户端工具修复IE浏览器的一些功能,下面是网上找到的东东 1.将当前用户IE安全级别设置为“中”: Windows Registry Editor Version 5.00 [HKEY_CURR ...
随机推荐
- 《 Java 编程思想》CH02 一切都是对象
用引用操纵对象 尽管Java中一切都看作为对象,但是操纵的标识符实际上对象的一个"引用". String s; // 这里只是创建了一个引用,而不是一个对象 String s = ...
- JSP&Servlet学习笔记----第3章
Web容器是JSP/Servlet唯一认识的HTTP服务器. HTTP是基于请求/响应的无状态通信协议. 流程: 1.请求来到HTTP服务器 2.HTTP服务器将请求转交给Web容器 3.Web容器创 ...
- web前端sprite,精灵图,雪碧图
css sprite 俗称:精灵图,雪碧图,指将整个页面不同的图片or图标合并在一张图上:优点:使用CSS Sprite 可以减少网络请求,提高网页加载性能,不会出现网页上端加载完毕下面还在加载中这一 ...
- 51Nod 1021 石子归并(区间dp经典入门)
题意: N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价.计算将N堆石子合并成一堆的最小代价. n<=100 思 ...
- overflow:hidden;zoom:1;外框自适应 [转]
在排页面时,碰到了,外框里的元素用fluid 布局,外框的高度不能适应的问题,查了一下资料,发现了博友的一篇文章,解决了这个问题,现在分享给大家. 解释不到位的请大牛补充~~~~~~ 高度自适应: h ...
- Python Namespace - 命名空间
命名空间 命名空间 namespace 对 python 来说是一个非常核心的概念,整个 python 虚拟机运行的机制与 namespace 概念有这非常紧密的联系. 从'赋值'说起, python ...
- 珠峰-webpack
##### webpack的优势.可以做哪里事情. ##### npx的运行原理 https://zhuanlan.zhihu.com/p/27840803 #### webpack的插件 html ...
- 如何在命令行添加换行符到git commit -m "xxx"
需求来源: 需要将自动识别的组件信息.更新信息.任务跟踪单号.下载链接等信息自动提交并推送至gerrit, 然后作为触发条件启动另一个协作业务流程. 方法1:单引号开放方法 git commit -m ...
- 图像分割:Semantic/Instance/Panoramic Segmentation
一. 背景介绍 语义分割(Semantic Segmentation):对一张图片上的所有像素点进行分类,同一物体的不同实例不需要单独分割出来. 实例分割(Instance Segmentation) ...
- pikachu-跨站请求伪造(CSRF)
一.CSRF漏洞概述 1.1 什么是CSRF漏洞 在CSRF的攻击场景中攻击者会伪造一个请求(整个请求一般是一个链接),然后七篇目标用户进行点击,用户一旦点击了这个请求,整个攻击也就完成了,所以CSR ...