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

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

Как усыпить и разбудить комп? [D7, WinXP]


Hensin ©   (2004-10-09 19:00:00) 

МАСТЕРА! Подскажите мне способ как ввести комп в состояние сна и вывести из оного. Оч надо!!!


Gero   (2004-10-12 22:56:00) [1]


> вывести из оного

Программно - никак.

> я не умею работать с dll-ками(
> что нужно с ней делать???

Загружать в память и юзать.


Hensin   (2004-10-12 22:42:00) [2]

Спасибо за помощь, но тут есть одна загвоздка:
я не умею работать с dll-ками(
что нужно с ней делать???


Hensin   (2004-10-12 22:39:00) [3]

Спасибо за помощь, но тут есть одна загвоздка:
я не умею работать с dll-ками(
что нужно с ней делать???


Rifo   (2004-10-09 19:38:00) [4]

Вот как перевести в "спящий" и "ждущий" знаю, а как обратно незнаю. Вот тебе текст DLL-ки:

library apm;

uses
windows,messages,forms,sysutils;

{$R *.RES}

{ВСПОМОГАТЕЛЬНАЯ ФУНКЦИЯ ДЛЯ СПЯЩЕГО/ЖДУЩЕГО РЕЖИМОВ}
var
_SetSuspendState:function(Hibernate,ForceCritical,DisableWakeEvent:BOOL):BOOL;

function LinkAPI(const module,functionname:string):Pointer;forward;

function SetSuspendState(Hibernate,ForceCritical,DisableWakeEvent:Boolean):Boolean;
begin
if not Assigned(_SetSuspendState) then
 @_SetSuspendState:=LinkAPI('POWRPROF.dll','SetSuspendState');
if Assigned(_SetSuspendState) then
 Result:=_SetSuspendState(Hibernate, ForceCritical,DisableWakeEvent)
else Result := False;
end;

function LinkAPI(const module,functionname:string):Pointer;
var
hLib: HMODULE;
begin
hLib:=GetModulehandle(PChar(module));
if hLib=0 then hLib:=LoadLibrary(PChar(module));
if hLib<>0 then Result:=getProcAddress(hLib,PChar(functionname))
 else Result:=nil;
end;

function son1(stat_term:boolean):boolean;stdcall;
{ЖДУЩИЙ РЕЖИМ}
begin
if SetSuspendState(True, False, False)=true then son1:=true else son1:=false;
halt;
end;

function son2(stat_term:boolean):boolean;stdcall;
{СПЯЩИЙ РЕЖИМ}
begin
if SetSuspendState(False, False, False)=true then son2:=true else son2:=false;
halt;
end;

Exports
son1,son2;

begin
end.


Наверх

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