レジストリを読み込むときにエラーが出ます。(指定されたキャストは有効ではありません)
bool b_tbar
private void Form1_Load(object sender, EventArgs e)
{
try
{
Microsoft.Win32.RegistryKey regkey =
Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\***", false);
if (regkey == null)
{
b_tbar = true;
return;
}
b_tbar = (bool)regkey.GetValue("tbar"); <ーーここでエラー
regkey.Close();
}
catch (Exception e1)
{
MessageBox.Show( e1.Message);
}
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Microsoft.Win32.RegistryKey regkey =
Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"***");
regkey.SetValue("tbar", b_tbar);
regkey.Close();
}
どこをどうなおしたら良いのでしょか?教えてくださいお願いいたします。
No.2ベストアンサー
- 回答日時:
「REG_SZ」ということは文字列です。
キャストではなくboolのConvertは使えないでしょうか?
No.1
- 回答日時:
を見る限り、bool型をレジストリに設定したときには別の型に変換されているのではないかと思います。
bool test = true;
Microsoft.Win32.RegistryKey regkey =
Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"***");
regkey.SetValue("test", test);
RegistryValueKind rvk = regkey.GetValueKind("test");
regkey.Close();
というコードで実際にどの型に変換されているかを確認してみたらどうでしょうか。
ところで、値設定のときは @"***" で、値取得のときは @"Software\***" となって設定先と取得先が一致していないようにみえますが、本来のコードでもそのとおりなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Windows Formアプリからコンソールを呼び出して文字を出力させたい 8 2023/05/09 10:53
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Visual Basic(VBA) 九九の答えの計算 3 2022/12/20 22:13
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WORD型をCString型に変換する方法
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
C++ 文字列変数と16進数の比較
-
16進をASCIIコードに変換する...
-
文字型を日付/時刻型に変換する...
-
16進コード文字列を文字列に変換
-
VBAのstrConv関数のUNICODE変換...
-
文字列の足し算
-
バイト型のデータをLong型に変換
-
textbox.textやlabel.captionの...
-
vb6の桁数指定
-
VB6.0の「vbFromUnicode」はVB....
-
秀丸マクロで 大文字を小文字...
-
Boolean型変数の値を反転する方法
-
C++/CLI System::String::Fotma...
-
対数変換のついて
-
ASPでVBのFormat関数のような機...
-
エクセルでメールヘッダーを解...
-
2進数から10進数へ変換
-
他のMDBのテーブルに追加したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
VB6.0の「vbFromUnicode」はVB....
-
16進をASCIIコードに変換する...
-
バイト型のデータをLong型に変換
-
16進コード文字列を文字列に変換
-
【C++/CLI】int型からString型...
-
C++ 文字列変数と16進数の比較
-
vb6の桁数指定
-
2の補数の計算について
-
VBAのstrConv関数のUNICODE変換...
-
WORD型をCString型に変換する方法
-
VB6.0 String型→Long型変換方法...
-
数字→漢数字変換
-
C#でListとDictionaryの判別方法
-
文字型を日付/時刻型に変換する...
-
textbox.textやlabel.captionの...
-
Boolean型変数の値を反転する方法
-
エクセルでメールヘッダーを解...
-
2進数から10進数へ変換
-
対数変換のついて
おすすめ情報