そういえば Opera のインストール先を得る必要があったんだ。
結局 x86 か x64 かをコードで見分ける必要があるのだってことだね。
チャチャっと探してみると WMI を使えば簡単だと解った。
C# WMI
WMIを使ってOSの情報を取得する: .NET Tips: C#, VB.NET, Visual Studio
ここらを見ると .NET 経由でも WMI から様々な情報が得られるようで。
私はとりあえず x64 かどうかさえ見分けられればいいので下記のように。
#-*- coding:utf-8 -*-
"""
cpu_check.py
Check Windows Architecture
"""
import clr
clr.AddReference("System.Management")
from System import *
from System.Management import *
# Create ManagementClass
mc = ManagementClass("Win32_Processor")
# Get ManagementObjectCollection
moc = mc.GetInstances()
# mo is ManagementObject
for mo in moc:
bit = mo["AddressWidth"]
if bit == 32:
print "x86 Windows"
elif bit == 64:
print "x64 Windows"
else:
print "Unknown Windows"
何故か IronPython コード、だってコンパイルするのが面倒くさい。
Win32_Processor 指定で x64 も判別できるようだ。
以下私の環境でテスト。
My 32bit Windows Vista

My 64bit Windows 7

これで見分けは簡単に行えそうだ。
でももっと簡単な方法がありそうな…