Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Сопротивление перезагрузке)) Добавлено: 23.06.06 20:21  

Автор вопроса:  Sacred Phoenix | ICQ: 304238252 
Сабж, возможно из области фантастики)) . Можно ли программно запретить перезагружать или выключать комп?

Ответить

  Ответы Всего ответов: 14  

Номер ответа: 1
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #1 Добавлено: 23.06.06 20:22
Кнопки Reset и Power Off на панели системного блока исключаем))

Ответить

Номер ответа: 2
Автор ответа:
 Алексей



ICQ: 207504159 

Вопросов: 1
Ответов: 14
 Web-сайт: lehs.info
 Профиль | | #2
Добавлено: 23.06.06 20:24
Можно. Только по хитрому.
Когда винда завершает работу она пытается корректно закрыть все процессы, и если процесс не отвечает больше определенного количества времени она его принудительно выгружает.
Фишка в том, чтобы на событие UnLoad одной из форм поставить код
Cancel = 1
. При этом все равно время жизни приложения сочтено, но если в это-же время программа будет что-либо делать, хоть просто в таймере считать i = i + 1, то винда его не закроет!!!
Ну а от книпки Restart уже никак не избавиться - это аппаратно! =)

Ответить

Номер ответа: 3
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #3 Добавлено: 23.06.06 21:22
хм, проверю щас))

Ответить

Номер ответа: 4
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #4 Добавлено: 23.06.06 21:55
задумка была такая - в xp можно переключаться между профилями. У меня поэтому постоянно было открыты куча всяких страничек, проектов и просто файлов, а иногда комп брали и перезагружали (и у меня всё, естественно, коту под хвост). Вот и возникла идея, чтобы запретить через оську перезагружать комп. Тот пример не сработал - при попытке перезагрузиться из др. профиля, прогу всё равно накрыли.

Ответить

Номер ответа: 5
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #5 Добавлено: 23.06.06 21:59
Копать в сторону апи. Не помню где, но было, что винда откладывает выключение при определенной реакции приложения на сигнал о перезагрузке

Ответить

Номер ответа: 6
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #6 Добавлено: 23.06.06 22:04
Вспомнил:
WM_QUERYENDSESSION
The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls the ExitWindows function. If any application returns zero, the session is not ended. The system stops sending WM_QUERYENDSESSION messages as soon as one application returns zero.

Ответить

Номер ответа: 7
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #7 Добавлено: 23.06.06 23:24
А что делать в VB[dot]NET? Попытался так (пишу на память):
M.Result = CType(0, System.IntPtr)
MyBase.WndProc(M)

Прога без вопросов закрылась

Ответить

Номер ответа: 8
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #8 Добавлено: 24.06.06 23:33
Private sub Form_Closing(byval sender as object, e as System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
e.Cancel = True
End sub

Это по-моему работало...

Ответить

Номер ответа: 9
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #9 Добавлено: 24.06.06 23:35
В некоторых случаях может пригодиться Process.Start("shutdown -a";)

Это остановит табличку с таймером до экстренного завершения работы.

Ответить

Номер ответа: 10
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #10 Добавлено: 24.06.06 23:59
Private sub Form_Closing(byval sender as object, e as System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
e.Cancel = True
End sub

Перезагружая комп из другого профиля, прога все равно закрывается.

Ответить

Номер ответа: 11
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #11
Добавлено: 25.06.06 00:43
Ну даже аппаратность кнопки Reset чё то под сомнением щас, вот чтобы на моём компе нажать Reset надо 2 секунды держать кнопку Power нажатой. Раз я подвесил винду когда наоткрывал кучу файлов на запись в LPT порт а шнур не воткнул - так мне пришлось секунд 10 кнопку держать

Ответить

Номер ответа: 12
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #12 Добавлено: 25.06.06 12:18
Кажется, кнопка Power обрабатывается BIOS.

Ответить

Номер ответа: 13
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #13 Добавлено: 25.06.06 14:06
Причём здесь кнопка Power? Речь о том, чтобы не дать перезагрузить комп через "Завершение работы... -> Перезагрузка" в другом профиле

Ответить

Номер ответа: 14
Автор ответа:
 K&M



ICQ: 225442067 

Вопросов: 20
Ответов: 170
 Профиль | | #14 Добавлено: 25.06.06 21:15
Это к посту Morpheus выше.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам