如何检测Windows KN / K / N版本

时间:2011-08-04 01:27:49

标签: delphi winapi operating-system versioninfo

Delphi 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;

2 个答案:

答案 0 :(得分:9)

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

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

答案 1 :(得分:0)

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

检查this article