C\#등록 표를 조작 하 는 방법
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;
}
이상 읽 은 레 지 스 트 중 HKEYLOCAL_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);
}
이상 은 레 지 스 트 에서 HKEYLOCAL_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);
}
}
이상 은 레 지 스 트 에서 HKEYLOCAL_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;
}
이상 은 레 지 스 트 에서 HKEYLOCAL_MACHINE\SOFTWARE 디 렉 터 리 아래 XXX 디 렉 터 리 에서 name 레 지 스 트 항목 이 존재 하 는 지 여 부 를 판단 합 니 다.이 방법 은 레 지 스 트 를 삭제 할 때 이미 존재 하 며,레 지 스 트 항목 을 새로 만 들 때 도 해당 하 는 판단 이 있어 야 합 니 다.
using System.Windows.Forms;
using Microsoft.Win32;
namespace RegeditManager
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//
private void button1_Click(object sender, EventArgs e)
{
RegistryKey key = Registry.LocalMachine;
try
{
RegistryKey software = key.CreateSubKey("software\\LabManager");
software = key.OpenSubKey("software\\LabManager", true);
software.SetValue("Address", @"C:\Program Files\ \dbcom.xml");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
key.Close();
}
}
//
private void button2_Click(object sender, EventArgs e)
{
string info = string.Empty;
RegistryKey key=Registry.LocalMachine;
try
{
key = key.OpenSubKey("software\\LabManager");
if (IsRegeditKeyExit("software\\LabManager", "Address"))
{
info = key.GetValue("Address").ToString();
MessageBox.Show(" :" + info);
}
else
{
MessageBox.Show(" Address ;");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
key.Close();
}
}
//
private void button3_Click(object sender, EventArgs e)
{
RegistryKey key = Registry.LocalMachine;
try
{
key = key.OpenSubKey("software\\LabManager",true);
if (IsRegeditKeyExit("software\\LabManager", "Address"))
{
key.DeleteValue("Address");
MessageBox.Show(" ");
}
else
{
MessageBox.Show(" Address ;");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
key.Close();
}
}
/// <summary>
///
/// </summary>
/// <param name="RegistryStr"> </param>
/// <param name="KeyStr"> </param>
/// <returns></returns>
private bool IsRegeditKeyExit(string RegistryStr,string KeyStr)
{
string[] subkeyNames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey(RegistryStr);
subkeyNames = software.GetValueNames();
foreach (string keyName in subkeyNames)
{
if (keyName == KeyStr) //
{
hkml.Close();
return true;
}
}
hkml.Close();
return false;
}
/// <summary>
///
/// </summary>
/// <param name="RegistryName"> :SOFTWARE</param>
/// <param name="ValueStr"> :LabManager</param>
/// <returns></returns>
private bool IsRegeditItemExist(string RegistryName,string ValueStr)
{
string[] subkeyNames;
RegistryKey hkml = Registry.LocalMachine;
RegistryKey software = hkml.OpenSubKey(RegistryName);
subkeyNames = software.GetSubKeyNames();
// ,
foreach (string keyName in subkeyNames) //
{
if (keyName == ValueStr) //
{
hkml.Close();
return true;
}
}
hkml.Close();
return false;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.