【工作记录】c#操作win7注册表

2020-12-13 03:56

阅读:537

标签:android   style   blog   http   color   strong   

     这里讲一 C# 小列子(高手请绕过此地! ), 我们平时都是在xp开发比较多...不过现在很多开发人员也在win7下开发了。

     下面是在 LocalMachine 下的 一下注册表操作 ,就不详说了

private static void DeleteRegistry(string name)
{
string[] aimnames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
RegistryKey aimdir = software.OpenSubKey("Microsoftss", true);
aimnames = aimdir.GetSubKeyNames();
foreach (string aimKey in aimnames)
{
if (aimKey == name)during-pregnancy 
aimdir.DeleteSubKeyTree(name);
}
}

private static string GetData(string name)
{
string registData;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
RegistryKey aimdir = software.OpenSubKey("Microsoftss", true);
registData = aimdir.GetValue(name).ToString();
return registData;
}

private static void WriteValue(string name, string tovalue)
{
RegistryKey hklm = Registry.LocalMachine;
RegistryKey software = hklm.OpenSubKey("SOFTWARE", true);
RegistryKey aimdir = software.CreateSubKey("Microsoftss");
aimdir.SetValue(name, tovalue);
}

private static bool IsExit(string name)
{
bool _exit = false;android中记录读取配置信息 
string[] subkeyNames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey("SOFTWARE", true);
RegistryKey aimdir = software.OpenSubKey("Microsoftss", true);
subkeyNames = aimdir.GetValueNames();
foreach (string keyName in subkeyNames)
{
if (keyName == name)
{
_exit = true;
return _exit;
}
}
return _exit;
}

      比如,当我们在xp系统下 软件执行Writevalue("版本号","v1.0.0.1"),一切都ok! 然后乐的就抛给了客户...没有思考。

一天客户换了win7系统 ,运了软件了。客户拉着42号鞋子的脸说,怎么软件在win7不能运行了....。问题就是上面开头说的了。

解决方法 是有地....

        这里列举几种.

        第一种 、教教客户、或者技术服务人员就好了。这个方法不需要修改我们的代码这是好处之一。只要, 点击.exe 右键

,在弹出的菜单中选择【属性】, 选择【兼容性】项,并勾选【以管理员身份运行此程序】就ok了。简单吧 

        第二种 、也算简单,不过我们就要重新生成软件 了。首先、在程序中加入MANIFEST资源,右击工程在菜单->【属性】->【安全性】,在界面中勾选【启用ClickOnce安全设置】,在项目的Properties 下就有自动生成app.manifest 文件。

        文件内容如下:
















  把 asInvoker " uiAccess = " false " /> 的 asInvoker 改为"requireAdministrator "。重新编译一下就ok了。

看到这个了吧!

这就是UAC(用户帐户控制)了

还有其他的方法。不过上面两种比较简单...。

 

【工作记录】c#操作win7注册表,搜素材,soscw.com

【工作记录】c#操作win7注册表

标签:android   style   blog   http   color   strong   

原文地址:http://www.cnblogs.com/gc2013/p/3821922.html


评论


亲,登录后才可以留言!