![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Punk |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 25.3.2002 Где: Абакан Репутация: нет Всего: нет |
как выключить комп чтобы Винда выгрузила ве сама не спрашивая что типа "Эту программу следует закрыть до завершения работы Виндовс"
Выгрузила все сама даже прогу которая закрывает Винду (кот надо написать) и выключила комп |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
ExitWindowsEx(EWX_FORCE,0);
или Запуск из коммандной строки rundll32 krnl386.exe,exitkernel только под XP все это работает плохо. Надо думать... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Чтобы работало под XP, NT, 2000 надо получить соответсвующую привелегию, а именно SeShutDownPriviligie
2Vit, exitkernel очень радикальный способ Есть способ намного лучше: ф-ия SHExitWindowsEx из shell32.dll С неё всё good. Это запуск из-под WinExec() Программно же только с получением привелегии. Замечу также что флаг EWX_FORCE необходим только для принудительного завершения при выдаче каких либо сообщений или модальных окон, что воспрепятствует завершению, например, "К компьютеру подключены пользователи. Данные могут быть утярены. Вы хотите завершить работу?" или сообщение, которое автор указал в вопросе. Если нет таких сообщений EWX_FORCE не обязателен. Также есть отдельные флаги для выключение компьютера (по умолчанию - перезагрузка) или завершения сетевого сеанса. -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Нет, в XP похоже не в этом дело, там почему-то "krnl386.exe" и "user.exe" вообще не распознаются как DLL. Наверное заглушка какая то стоит... -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Программно работает точно. Через rundll надо попробовать.
-------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
И програмно и через RunDLL под XP выдает одну и ту же ошибку, что то типа "Неправильный формат krnl32.exe", точное сообщение я напишу чуть позже - прийду домой запущу и напишу.
PS. Кстати когда у меня стоял 2000 то работали все эти функции как часы. To Song: если не веришь, напиши процедуру - я ее в точности выполню на своем компьютере и пришлю результат. Меня чесно говоря результат тоже удивил. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Программно имеется ввиду WinExec(...rundll...) ?
Я-то имел ввиду ExitWindowsEx() -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Exitwindows работает, а вот попытка обращения к любой процедуре из krnl32.exe и User32.exe хоть из программы, хоть через RunDLL вызывает на моем WinXP rus следующее сообщение, привожу дословно:
Приложение или библиотека krnl32.exe не является образом программы для Windows NT. Проверьте назначение текущего диска. Ну и как это понимать? -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Ну я думаю (потому что лень проверять), что надо убить все активные процессы кроме Kernel32 (Тогда по идеи Виндовоз небудет сопротивляться) , ну а дольше ExitWindowsEx(EWX_FORCE,0);
|
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
ExitWindowsEx() сам всё убьёт. 2Vit, Наверно в XP шнягу через rundll просто убрали. -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
2 Song. Вот в XP может и убъёт, а в 9x-ME очень часто такая маза непроходит, пока не убъёшь какойнить процесс. (взято из личного опыта) |
|||
|
||||
| Song |
|
|||
![]() Sysman.ru ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1095 Регистрация: 2.6.2002 Репутация: 2 Всего: 4 |
Нет, это не нормальное поведение. ExitWindowsEx() должен выключать всё в любом случае. Если какой-то процесс подвисает, значит пора систему сносить.
В Win95/98 в подавляющем в большинстве случае вообще можно обойтись ExitWindows() просто. -------------------- Прежде чем сказать "Невозможно", подумай, прав ли ты |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |