WMI クラス Win32_OperatingSystem には Windows Vista の OSArchitecture しか含まれていないため、レジストリを使用して現在のシステムが 32 ビット システムか 64 ビット システムかを判断する方法をすぐに作成しました。
private Boolean is64BitOperatingSystem()
{
RegistryKey localEnvironment = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment");
String processorArchitecture = (String) localEnvironment.GetValue("PROCESSOR_ARCHITECTURE");
if (processorArchitecture.Equals("x86")) {
return false;
}
else {
return true;
}
}
これまでのところ、かなりうまくいっていますが、レジストリを調べるのがどれほど好きかはわかりません。これはかなり標準的な方法ですか、それともより良い方法がありますか?
編集:うわー、そのコードはプレビューでもっときれいに見えます. 次回は、ペーストビンか何かへのリンクを検討します。