皆さんこんにちは!
小さなpython3プロジェクトをコーディングしています。私のコードには、ユーザーが特定の DirectX バージョンをインストールしているかどうかを確認する関数があります。
その機能は以下の通りです。
def check_directx():
try:
reg_obj = OpenKey(HKEY_LOCAL_MACHINE, r'SOFTWARE\Microsoft\DirectX')
except FileNotFoundError:
return False
dx_value_str = EnumValue(reg_obj, 1)[1][0:4]
CloseKey(reg_obj)
if dx_value_str != "4.09":
return False
return True
この機能をテストしたかったので、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectXの元のバージョン値 (4.09.00.0904) を 4.07.00.0904 に変更しました。しかし、うまくいきませんでした。変数 dx_value_str の値はまだ 4.09.00.0904 でした。
レジストリを検索したところ、HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectXに同じキー、値があることがわかりました。ここのバージョン値を変更しました、変数 dx_value_str の値がついに変更されました。
ご覧のとおり、'SOFTWARE\Microsoft\DirectX' でキーを開きましたが、'SOFTWARE\Wow6432Node\Microsoft\DirectX' で値を取得しました。
この状況は大丈夫ですか?または私のコードに何か問題がありますか?
私を助けてください!