惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Vulnerabilities – Threatpost
U
Unit 42
F
Fortinet All Blogs
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
F
Full Disclosure
月光博客
月光博客
Engineering at Meta
Engineering at Meta
博客园_首页
The Register - Security
The Register - Security
G
Google Developers Blog
The Cloudflare Blog
博客园 - Franky
K
Kaspersky official blog
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cisco Blogs
Hugging Face - Blog
Hugging Face - Blog
C
Check Point Blog
NISL@THU
NISL@THU
AI
AI
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
Vercel News
Vercel News
T
Tor Project blog
P
Privacy International News Feed
D
Docker
I
Intezer
L
LangChain Blog
P
Proofpoint News Feed
Security Latest
Security Latest
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
博客园 - 聂微东
AWS News Blog
AWS News Blog
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
V
V2EX
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
The Hacker News
The Hacker News
T
Tenable Blog
Blog — PlanetScale
Blog — PlanetScale
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog

博客园 - huadust

msdn 网络编程 委托用法 DateTime各种用法 [转]将dll汇入exe 用DataTable构建树 Lock Review String Review Class Review DataTable opertion Drag DataGridView Data To TreeView 2009_01_15_星期三 2009_01_02_星期五 2008_12_31_星期三 2008_12_24_星期三 2008_12_20_星期六 2008_12_17_星期三 2008_12_06_星期六 2008_12_04_星期四
注册表操作
huadust · 2011-04-07 · via 博客园 - huadust

1.读取指定名称的注册表的值

private string GetRegistData(string name)

{

   string registData;

   RegistryKey hkml = Registry.LocalMachine;

   RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);

   RegistryKey aimdir = software.OpenSubKey("XXX",true);

   registData = aimdir.GetValue(name).ToString();

   return registData;

}

以上是读取的注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下的XXX目录中名称为name的注册表值;

2.向注册表中写数据

private void WTRegedit(string name,string tovalue)

{

   RegistryKey hklm = Registry.LocalMachine;

   RegistryKey software = hklm.OpenSubKey("SOFTWARE",true);

   RegistryKey aimdir = software.CreateSubKey("XXX");

   aimdir.SetValue(name,tovalue);

}

以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下新建XXX目录并在此目录下创建名称为name值为tovalue的注册表项;

3.删除注册表中指定的注册表项

private void DeleteRegist(string name)

{

   string[] aimnames;

   RegistryKey hkml = Registry.LocalMachine;

   RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);

   RegistryKey aimdir = software.OpenSubKey("XXX",true);

   aimnames = aimdir.GetSubKeyNames();

   foreach(string aimKey in aimnames)

   {

    if(aimKey == name)

     aimdir.DeleteSubKeyTree(name);

   }

}

以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中删除名称为name注册表项;

4.判断指定注册表项是否存在

private bool IsRegeditExit(string name)

{

   bool _exit = false;

   string[] subkeyNames;

   RegistryKey hkml = Registry.LocalMachine;

   RegistryKey software = hkml.OpenSubKey("SOFTWARE",true);

   RegistryKey aimdir = software.OpenSubKey("XXX",true);

   subkeyNames = aimdir.GetSubKeyNames();

   foreach(string keyName in subkeyNames)

   {

    if(keyName == name)

    {

       _exit = true;

       return _exit;

    }

   }

   return _exit;

}

以上是在注册表中HKEY_LOCAL_MACHINE\SOFTWARE目录下XXX目录中判断名称为name注册表项是否存在,这一方法在删除注册表时已经存在,在新建一注册表项时也应有相应判断;