Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Приостановка и блокировка компа в win2000-xp [D5, NT4, Win2k, WinXP]


stainer a ©   (2002-05-10 14:32:00) 

Привет знатоки.
У меня два вопроса по win2000-xp
a) как программно приостановить работу компа (Hibernate)
б) как блокировать раб юстанцю (ctrl-alt-del -->> блокировка(Lock workstation))


GreatMaster   (2002-05-11 01:41:00) [1]

а hibernate вроде так делается:
SetSystemPowerState(false, true); {true - force}


GreatMaster   (2002-05-10 23:22:00) [2]

менее эстетично, но короче:
ShellExecute(0, "open", "rundll32", "user32,LockWorkStation", nil, 0);
В ХР ещё кажется WIN+L работает - тогда можно их симулировать.


Jazzy$   (2002-05-10 16:07:00) [3]

Блокировка:
program lockw2k;

uses Windows;
var osv : TOSVersionInfo;
h : integer;
p : procedure;

begin
osv.dwOSVersionInfoSize := sizeof (osv);
if GetVersionEx(osv) then
if (osv.dwPlatformId = VER_PLATFORM_WIN32_NT) and
(osv.dwMajorVersion = 5) then
begin
h := LoadLibrary("user32.dll");
if h <> 0 then
begin
@p := GetProcAddress(h,"LockWorkStation");
if @p <> nil then
begin
p;
FreeLibrary(h);
end;
end;
end;
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо