2

德尔福 Xe,Win7x64

如何检测不完整的 Windows 版本 N 或 K (Win XpSp3-Win7x64)?没有IE,Wmp。

例子:

Function isWinKNedition:bool;
begin
result:=?????
end;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
if isWinKNedition then begin showmessage('This program can work only on full versions OS Windows');Halt;end;
end;
4

2 回答 2

9

根据 MSDN,您可以使用GetProductInfoWMI Win32_OperatingSystem 类(请参阅 OperatingSystemSKU 描述)来检测“N”个版本。请注意,Windows XP 不支持这两种方法(需要 Vista 或更高版本)

要检测 Windows XP“K”版本,您可以检查注册表项,请参阅http://support.microsoft.com/kb/922474(Windows注册表部分的更改)。

于 2011-08-04T04:39:29.537 回答
0

尝试使用GetVersionExWinApi,它提供有关操作系统的版本信息,包括 ServicePack 信息。

检查这篇文章

于 2011-08-04T04:22:32.280 回答