みなさんこんにちは!WindowsのPython 3でレジストリ値がwinregで一致しないのはなぜですか?
私は小さな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
私は、Microsoft \ DirectXの \ 4.07.00.0904 でHKEY_LOCAL_MACHINE \ソフトウェアに元のバージョン値(4.09.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」の値が表示されました。
この状況は間違いありませんか?私のコードに何か問題がありますか?
私を助けてください!