CodePanic! > C#.NET Tips > 今ここ
■レジストリから値を取得する
RegistryKeyクラスを使います。
以下のサンプルを実行する前に
あらかじめレジストリエディタを開いて
HKEY_CURRENT_USER\Software\hogehoge
に
REG_SZ(文字列)のname
REG_DWORD(数値)のlength
の2つの値を書き込んでおいてください。
なお、GetValue関数の第二引数は
値が存在しなかった場合のデフォルト値です。
using Microsoft.Win32; を忘れずに
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32; // これを追加
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// HKEY_CURRENT_USER\Software\hogehoge をオープン
RegistryKey key = Registry.CurrentUser;
key = key.OpenSubKey(@"Software\hogehoge");
// 値を取得
string value = (string)key.GetValue("name", "設定がありません");
// 値の型を確認してから取得
int length = 0;
RegistryValueKind kind = key.GetValueKind("length");
if (kind == RegistryValueKind.DWord)
{
length = (int)key.GetValue("length", 100);
}
// 最後は閉じます
key.Close();
MessageBox.Show(value + length.ToString());
}
}
}
Copyright © 2008.07 - shougo suzaki
|