Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 509

/ вопрос открыт /

Приветствую, уважаемые эксперты!
Какой код нужно ввести чтобы при нажатии на Button1 Компьютер Выключился, а Button2 Перезагрузился.

Приложение:
  1. Delphi 7 Enterprise


NoSleep Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: NoSleep (статус: Посетитель)
Вопрос отправлен: 18 июля 2011, 14:49
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 31; последнее сообщение — 30 июля 2011, 23:19; участников в обсуждении: 6.

Страницы: [1] [2] [Следующая »]

min@y™

min@y™ (статус: Доктор наук), 18 июля 2011, 14:52 [#1]:

Функция ExitWindowsEx(). В интернете примеров туева хуча. Погуглить за тебя или сам найдёшь?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
NoSleep

NoSleep (статус: Посетитель), 18 июля 2011, 14:54 [#2]:

Найду!
bugmenot

bugmenot (статус: 3-ий класс), 18 июля 2011, 14:57 [#3]:

привилегию SE_SHUTDOWN_NAME не забудь.
виконання програми розпочинається з того самого мiсця, де призупинилося.

Эхо Унитазного Бачка

Эхо Унитазного Бачка (статус: 1-ый класс), 18 июля 2011, 15:04 [#4]:

uses Windows;
...
В обработчике вставляешь всего одну строчку из перечисленных ниже и profit )

1) ExitWindowsEx(EWX_LOGOFF or ewx_force,0);
завершает работу всех запущенных в системе процессов, сохраняя данные приложения, вызвавшего эту функцию
2) ExitWindowsEx(EWX_SHUTDOWN or ewx_force,0);
останавливает работу системы в безопасный момент времени. Все буферы очищаются с сохранением данных на диске, все процессы останавливаются
3) ExitWindowsEx(EWX_REBOOT or ewx_force,0);
перезагрузка системы
4) ExitWindowsEx(EWX_FORCE or ewx_force,0);
завершает работу всех запущенных в системе приложений, не посылая им сообщения WM_QUERYENDSESSION и WM_ENDSESSIO. Это может вызвать потерю не сохраненных данных
5) ExitWindowsEx(EWX_POWEROFF or ewx_force,0);
завершает работу компьютера с выключением питания, если система поддерживает автоуправление питанием
6) ExitWindowsEx(EWX_FORCEIFHUNG or ewx_force,0);
завершает работу всех запущенных в системе приложений если система висит
bugmenot

bugmenot (статус: 3-ий класс), 18 июля 2011, 15:41 [#5]:

Цитата (Эхо Унитазного Бачка):

всего одну строчку из перечисленных ниже и profit )

Это многократно тыренная копипаста же. Работать не будет.
виконання програми розпочинається з того самого мiсця, де призупинилося.

18 июля 2011, 15:42: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с устройствами и "железом" модератором Ерёмин А.А.

DNK

DNK (статус: Студент), 18 июля 2011, 16:06 [#6]:

Есть у меня процедурка, да проверить все не судьба.
procedure NTShutdown;
var
  TokenHandle: Cardinal;
  RetLength: Cardinal;
  TP: TTokenPrivileges;
begin
  OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES
    or TOKEN_QUERY, TokenHandle);
  if LookupPrivilegeValue(nil, 'SeShutdownPrivilege',
    TP.Privileges[0].Luid) then
  begin
    TP.PrivilegeCount := 1;
    TP.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
    RetLength := 0;
    if AdjustTokenPrivileges(TokenHandle, FALSE, TP, 0, nil, RetLength) then
    begin
      if not SetProcessShutdownParameters($4FF, SHUTDOWN_NORETRY) then
      begin
        MessageBox(0, 'Shutdown failed', nil, MB_OK or MB_ICONSTOP);
      end
      else
      begin
        ExitWindowsEx(EWX_FORCE or EWX_SHUTDOWN, 0);
      end;
      exit;
    end;
  end;
  MessageBox(0, 'Access denied', nil, MB_OK or MB_ICONSTOP);
end;
"Digital Networked Knight"
bugmenot

bugmenot (статус: 3-ий класс), 18 июля 2011, 16:48 [#7]:

SetProcessShutdownParameters я не понял
виконання програми розпочинається з того самого мiсця, де призупинилося.

DNK

DNK (статус: Студент), 18 июля 2011, 20:48 [#8]:

Думаю что это.
"Digital Networked Knight"
bugmenot

bugmenot (статус: 3-ий класс), 19 июля 2011, 09:53 [#9]:

не, я не понял сакрального смысла дерганья приоритета
виконання програми розпочинається з того самого мiсця, де призупинилося.

NoSleep

NoSleep (статус: Посетитель), 19 июля 2011, 10:34 [#10]:

На перезагрузку какой код?
min@y™

min@y™ (статус: Доктор наук), 19 июля 2011, 10:34 [#11]:

Цитата (bugmenot):

не, я не понял сакрального смысла дерганья приоритета

А так безопасТнее.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 19 июля 2011, 10:36 [#12]:

Цитата (min@y™):

На перезагрузку какой код?

EWX_REBOOT вместо EWX_SHUTDOWN.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 19 июля 2011, 11:18 [#13]:

Цитата (min@y™):

А так безопасТнее.

смищно.
будем надеяться, что никто ради лулзов не попросит обосновать :­-­P
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 19 июля 2011, 11:26 [#14]:

Цитата (bugmenot):

смищно.

Ну ты ж первый(вая) начал(а). Сказал(а) бы вчера, что ошибся(лась), холивара бы и не было. Однако, это выше твоих сил. И никаких лулзов тут нету.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Gooddy

Gooddy (статус: 3-ий класс), 19 июля 2011, 11:31 [#15]:

Обоснуй
Чисти код! Чисти код! Чисти код!
bugmenot

bugmenot (статус: 3-ий класс), 19 июля 2011, 11:42 [#16]:

Цитата (min@y™):

холивара бы и не было

Киса, полуркай что-ли значение слова "холивар" (и заодно "шутка" и "сарказм"), а то уныл до невозможности.

Спойлер: два раза повторённая шутка становится в два раза смешнее.
виконання програми розпочинається з того самого мiсця, де призупинилося.

min@y™

min@y™ (статус: Доктор наук), 19 июля 2011, 11:51 [#17]:

Цитата (bugmenot):

Киса, полуркай что-ли значение слова "холивар" (и заодно "шутка" и "сарказм"), а то уныл до невозможности.


Будь ласка:
Холивар (от англ. holy war, священная война, алсо, религиозные войны) — общее название споров между людьми, являющимися
приверженцами диаметрально противоположных мнений, которые они не желают менять. Такой спор принципиально бессмыслен,
так как ни один из участников дискуссии не собирается выслушивать и обдумывать доводы своего оппонента, а стремится
максимально красиво выглядеть в глазах зрителей. Первым классическим Х. в ФИДО стал срач между Сишниками и Паскалистами.
Далее был многолетний срач OS/2  vs Windows. Холивары официально включены в программу Специальных Олимпиад. Холивары
равнозначны спорам типа, что вкуснее — банан или апельсин, в которых всегда найдется человек с мнением, что картошечка с
селедкой, да под водочку — лучше.

И не надо меня кисой называть!
Признаться, что облажался(лась) религия не позволяет, да?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
bugmenot

bugmenot (статус: 3-ий класс), 19 июля 2011, 12:09 [#18]:

Няша, я сказал полуркай, а не скопипасти сюда, не читая. В будущем, каждый раз, когда соберусь пошутить - буду тебе высылать факс с толкованием и закадровым смехом.
виконання програми розпочинається з того самого мiсця, де призупинилося.

Gooddy

Gooddy (статус: 3-ий класс), 19 июля 2011, 12:43 [#19]:

Лурко*б детектед.
Чисти код! Чисти код! Чисти код!
min@y™

min@y™ (статус: Доктор наук), 19 июля 2011, 13:10 [#20]:

Цитата (bugmenot):

буду тебе высылать факс с толкованием

Слив засчитан.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:54
Выполнено за 0.03 сек.