Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2007, 22:38   #11
LAFam
Пользователь
 
Регистрация: 13.10.2007
Сообщений: 11
По умолчанию

Как сделать так чтоб сообщение с обратным отсчетом времени находящееся поверх остальных окон как при shutdown?
LAFam вне форума Ответить с цитированием
Старый 28.10.2007, 23:02   #12
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 16.04.2007
Сообщений: 298
По умолчанию

FormStyle := fsStayOnTop;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := TimeToStr(StrToTime('23:59') - Time);
end;
Не надо ничего усложнять. Все достаточно тривиально.
Shuraken вне форума Ответить с цитированием
Старый 07.12.2007, 23:47   #13
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Вот код перезагрузки. Он прост и надёжен , чётко работает.

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
ExitWindowsEX(EWX_REBOOT, 0);
end;
end;

Есле захочеш выключить компьютер то измени значение
ExitWindowsEX(EWX_REBOOT, 0); на ExitWindowsEX(EWX_POWEROFF, 0);
Что бы поставить компьютер в ждущий режи используй команду
SetSystemPowerState(True, True);
Вот и всё!
С уважением Terran!!!
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 09.12.2007, 09:15   #14
zAlexandrz
Пользователь
 
Аватар для zAlexandrz
 
Регистрация: 03.11.2007
Сообщений: 25
По умолчанию

Цитата:
Сообщение от LAFam Посмотреть сообщение
Как сделать так чтоб сообщение с обратным отсчетом времени находящееся поверх остальных окон как при shutdown?
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin

             Timer1.Enabled:=true;
             time1:=0;
             time3:=30 // предупредитьза 30с;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(time1);
  label2.Caption:='Система перегрузится через '+inttostr(time3-time1)+' секунд';
  if time3-time1<1 then
    begin
      Timer1.Enabled:=false;
// здесь непосредственно
//сам код
//для перегрузки
  end;
end;
чтоб поверх всех окон - настройка формы.


Последний раз редактировалось zAlexandrz; 09.12.2007 в 17:12.
zAlexandrz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перезагрузка компьютера antoha.by Паскаль, Turbo Pascal, PascalABC.NET 13 04.08.2008 09:39
Перезагрузка Windows asja Компьютерное железо 1 11.05.2008 13:22
Выключение и перезагрузка Патрон Win Api 8 26.03.2008 16:24
Перезагрузка компа Pusher Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 19.02.2008 20:54
Перезагрузка Windows agatos Свободное общение 7 21.01.2008 17:45