特に、PC を新しい OU に移動し、DWORD 値をレジストリに書き込み、移動が成功したか失敗したかを示す Win Forms アプリケーションがあります。残りの操作が完了すると、PC が再起動します。再起動すると、アプリケーションが再起動し、成功したものと失敗したものについてレジストリ値をチェックし、フォームに「チェック」または「X」を表示します。
DWORD値が存在するかどうかをテストしてから、それが「1」であるかどうかを読み取る方法を知りたいです。私は自分でこれを簡単にして、アプリケーションに文字列値を書かせることができることを理解していますが、私は学ぼうとしています.
Visual Studio を使用して、DWORD 値が null かどうかを確認しようとすると、警告が表示されます。次の警告が表示されます。
int 値を null にすることはできません。レジストリに存在するかどうかをテストして、例外を回避するにはどうすればよいでしょうか? 以下の私のコードを参照してください。
RegistryKey domainJoin = Registry.LocalMachine.OpenSubKey
(@"SOFTWARE\SHIELDING\5", RegistryKeyPermissionCheck.ReadWriteSubTree);
//If the domain join was attempted, check outcome...
if (domainJoin != null)
{
//Check if move to OU was successful
int ouMoveVal = (int)domainJoin.GetValue("movePC");
if (ouMoveVal != null) <-----HERE IS WHERE I GET THE WARNING
{
//If PC move to new OU was successful
//show 'check' mark
if (ouMoveVal == 1)
{
picChkOU.Visible = true;
}
//If PC move to new OU was NOT successful
//show 'X' mark
else
{
picXOU.Visible = true;
}
}