Форум: "Система";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];
ВнизКак определить тип системы? Найти похожие ветки
← →
IsmaiL (2003-03-06 18:34) [0]Народ, помогите кто может советом, как программно определить
тип системы. И как програмно выключить компьютер из WinXP.
Заранне благодарен.
← →
Poi$oN (2003-03-06 20:20) [1]Вот в свое время такой код нарыл, у меня без проблем работает!
PS cOsWhistler - это Win XP
const
{ operating system constants }
cOsUnknown = -1;
cOsWin95 = 0;
cOsWin98 = 1;
cOsWin98SE = 2;
cOsWinME = 3;
cOsWinNT = 4;
cOsWin2000 = 5;
cOsWhistler = 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 := cOsWhistler
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;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(GetOperatingSystem));
end;
← →
Poi$oN (2003-03-06 20:34) [2]А выключается XP как и любая 9.X винда:
ExitWindowsEx(1 из вариантов,0);
Вот допустимые параметры (подробности смотри в хелпе)
EWX_FORCE
EWX_LOGOFF
EWX_POWEROFF
EWX_REBOOT
EWX_SHUTDOWN
← →
IsmaiL (2003-03-07 09:15) [3]В том то и дело, что не выключается уже пробовал.
В win98 работает, а в ХР просто не срабатывает, не происходит
ничего.
← →
DVM (2003-03-07 09:36) [4]Чтобы выключить комп в XP/NT/2000 нужно иметь для этого привелегии в системе. А как это сделать - советую поглядеть FAQ и базу готовых решений.
← →
Opuhshii (2003-03-07 10:06) [5]2Poi$oN (06.03.03 20:20)
при инициализации модуля SysUtils, уже выполняется GetVersionEx
← →
IsmaiL (2003-03-08 10:12) [6]Спасибо, мужики все работает.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c