1
OSに基づいてレジストリに書きたいと思います。私は場所にOS検出機能を持っていて、レジストリセクションでチェック機能を置くことができることを発見したので、次試してみました:条件に基づいてレジストリに書き込んでください
Root: HKLM; SubKey: Software\Microsoft\Windows; ValueType: dword; ValueName: Test; ValueData: 1; Flags: createvalueifdoesntexist; Check: IsWindows7
しかし、それは動作しませんでした、私はwin7のとWinXPの上に設置する場合ことを意味し、それ両方の場合にレジストリに値を書き込んだ。
function IsWindows7(): Boolean;
var
Version: TWindowsVersion;
begin
GetWindowsVersionEx(Version);
// Windows 7 version is 6.1 (workstation)
if (Version.Major = 6) and
(Version.Minor = 1) and
(Version.ProductType = VER_NT_WORKSTATION)
then
Result := True
else
Result := False;
end;
任意のアイデア/提案:
ここでOSを検出するためのコードはありますか?
あなたの 'IsWindows7'チェック機能のコードを見せてください。なぜ、標準の 'MinVersion'と' OnlyBelowVersion'パラメータを使用しないのですか? – Deanna
返信いただきありがとうございます!標準のパラメータを使用することはできますが、どこかでテストしてからテストに基づいてレジストリに書き込む必要があります。私が求めているのは、与えられた行が正しいかどうかです。 –
はいです。最初のコメントは正しいです、問題はIsWindows7から来るべきですので、この関数を質問に追加してください。純粋なハワードによって、Win7(6ではなく7)の正しい主要なvesrion番号をテストしますか? – az01