Вниз
Скачать: CL | DM;

Как перевести компьютер в ждущий режим?   Найти похожие ветки 

← →
Wolfram ©   (2005-09-30 22:09) [0]

Как перевести компьютер в ждущий и спящий режимы под WinXP? Функция systemparametersinfo здесь не работает.


← →
Wolfram ©   (2005-10-01 07:44) [1]

Народ, неужели никто не знает, как это сделать???


← →
Antonn ©   (2005-10-01 08:50) [2]

я так:

procedure NTWait;
var
 hToken: THandle;
 tkp: TTokenPrivileges;
 ReturnLength: Cardinal;
begin
 if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or
   TOKEN_QUERY, hToken) then
 begin
   LookupPrivilegeValue(nil, "SeShutdownPrivilege", tkp.Privileges[0].Luid);
   tkp.PrivilegeCount := 1;
   tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
   if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then
     SetSystemPowerState(true, true);
 end;
end;


← →
Antonn ©   (2005-10-01 08:50) [3]

аге, спащий забыл:

procedure NTSleep;
var
 hToken: THandle;
 tkp: TTokenPrivileges;
 ReturnLength: Cardinal;
begin
 if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES or
   TOKEN_QUERY, hToken) then
 begin
   LookupPrivilegeValue(nil, "SeShutdownPrivilege", tkp.Privileges[0].Luid);
   tkp.PrivilegeCount := 1; // one privelege to set
   tkp.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
   if AdjustTokenPrivileges(hToken, False, tkp, 0, nil, ReturnLength) then
     SetSystemPowerState(true, true);
 end;
end;


← →
Pass[word] ©   (2005-10-01 08:52) [4]

Я знаю как. Молотком!


← →
Antonn ©   (2005-10-01 15:10) [5]

Pass[word] ©   (01.10.05 8:52) [4]
так только выключить можно.


← →
Wolfram ©   (2005-10-01 21:12) [6]

Чё-то я не понял - функции NTWait и NTSleep абсолютно одинаковые и переводят комп в ждущий режим. А как со спящим?


← →
Antonn ©   (2005-10-02 05:27) [7]

Wolfram ©   (01.10.05 21:12) [6]
ой. точно одинаковые...

var
  _SetSuspendState: function (Hibernate, ForceCritical, DisableWakeEvent: BOOL): BOOL
  stdcall = nil;

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;

юзание - SetSuspendState(True, False, False);



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.04 c
14-1130429605
FeeR
2005-10-27 20:13
2005.12.04
Загрузочный сектор


1-1131561034
Shopot
2005-11-09 21:30
2005.12.04
Можно ли создать объект...


14-1131899975
Alexey31
2005-11-13 19:39
2005.12.04
Как определить?


14-1131694407
MBo
2005-11-11 10:33
2005.12.04
Немножко пятничных задачек ;)


3-1129702902
Enzo_Matrix
2005-10-19 10:21
2005.12.04
Состояние AdoDataSet .




   Наверх