const
{ operating system (OS)constants }
cOsUnknown = -1;
cOsWin95 = 0;
cOsWin98 = 1;
cOsWin98SE = 2;
cOsWinME = 3;
cOsWinNT = 4;
cOsWin2000 = 5;
cOsXP = 6;
function GetOperatingSystem: Integer;
var
osVerInfo: TOSVersionInfo;
majorVer, minorVer: Integer;
begin
Result := cOsUnknown;
{ set operating system type flag }
osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if GetVersionEx(osVerInfo)
then
begin
majorVer := osVerInfo.dwMajorVersion;
minorVer := osVerInfo.dwMinorVersion;
case osVerInfo.dwPlatformId
of
VER_PLATFORM_WIN32_NT:
{ Windows NT/2000 }
begin
if majorVer <= 4
then
Result := cOsWinNT
else if (majorVer = 5)
and (minorVer = 0)
then
Result := cOsWin2000
else if (majorVer = 5)
and (minorVer = 1)
then
Result := cOsXP
else
Result := cOsUnknown;
end;
VER_PLATFORM_WIN32_WINDOWS:
{ Windows 9x/ME }
begin
if (majorVer = 4)
and (minorVer = 0)
then
Result := cOsWin95
else if (majorVer = 4)
and (minorVer = 10)
then
begin
if osVerInfo.szCSDVersion[1] = '
A'
then
Result := cOsWin98SE
else
Result := cOsWin98;
end
else if (majorVer = 4)
and (minorVer = 90)
then
Result := cOsWinME
else
Result := cOsUnknown;
end;
else
Result := cOsUnknown;
end;
end
else
Result := cOsUnknown;
end;
function WindowsDirectory:
string;
var WinDir : PChar;
begin
WinDir:=StrAlloc(Max_Path);
try
GetWindowsDirectory(WinDir,Max_Path);
Result:=(
String(WinDir))+'
\';
finally
StrDispose(WinDir);
end;
end;
{WindowsDirectory}
procedure TForm1.IPLabelClick(Sender: TObject);
var windir:
string;
os:integer;
begin
os:=GetOperatingSystem;
If os=cOsWin95
then exit;
If os=cOsWin98
then exit;
If os=cOsWin98SE
then exit;
If os=cOsWinME
then exit;
If os=cOsWinNT
then windir:=WindowsDirectory+'
system32\';
If os=cOsWin2000
then windir:=WindowsDirectory+'
system32\';
If os=cOsXP
then windir:=WindowsDirectory+'
system32\';
WinExec(PChar(windir+'
netsh interface ip set address name = "LAN-Verbindung" source = static addr = 192.168.1.28 mask = 255.255.255.0'),SW_SHOWNORMAL);
end;