掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Officeのバージョン確認 (ID:151885)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
vram 様、AAAAA 様 日を跨いでの返信すみません。また、確認ありがとうございます。 vram 様が回答されたように再度、レジストリから値を持って来る方法で試したところ365の判別がつきそうです。 以下のコードで試したところ、サブスク加入している場合は365の文字列を拾って来れました(拙いコードで恐縮です)。 const KEY_WOW64_64KEY=$0100; KEY_WOW64_32KEY=$0200; procedure TForm1.Button1Click(Sender: TObject); var Reg: TRegistry; sGetData: string; begin //Reg := TRegistry.Create; Reg := TRegistry.Create(KEY_QUERY_VALUE or KEY_WOW64_32KEY); Reg.Access := KEY_READ or KEY_WOW64_64KEY; try Reg.RootKey := HKEY_LOCAL_MACHINE; Reg.OpenKey('SOFTWARE\Microsoft\Office\ClickToRun\Configuration', False); sGetData := Reg.ReadString('ProductReleaseIds'); Reg.CloseKey; finally Reg.Free; end; showmessage(sGetData); end; 32bitのプログラムを64bit環境で動かすと、[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node]にリダイレクトしてしまうようでしたが、[KEY_WOW64_64KEY]を使うことでリダイレクトされずにレジストリを参照することができました。 ご回答して下さりありがとうございました!
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.