Страница: 1 |
Вопрос: Не дать юзеру завершить сеанс, пока прога работает | Добавлено: 25.07.02 15:33 |
Автор вопроса: ![]() |
Здрасти, Я делаю программу, которая будет вести статистику в центре бесплатного доступа к интернету на vb 6.0 sp5, как сделать так, чтобы программа не дала шатдаунить или завершить сеанс, пока она работает? пока делаю так, но почему-то не работает: Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Public Declare Function AbortSystemShutdown Lib "advapi32.dll" Alias "AbortSystemShutdownA" (ByVal lpMachineName As String) As Long Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If UnloadMode = 2 Or UnloadMode = 3 Then MsgBox "You can't exit windows while counter is working", vbCritical AbortSystemShutdown GetPCName end if end sub Спасибо! |
Ответы | Всего ответов: 4 |
Номер ответа: 1 Автор ответа: ![]() ![]() Вопросов: 9 Ответов: 112 |
Профиль | Цитата | #1 | Добавлено: 25.07.02 19:03 |
Неплохо было бы в QueryUnload устанавливать Cancel = true По крайней мере в таком варианте все работало |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 8370005 Вопросов: 34 Ответов: 466 |
Профиль | Цитата | #2 | Добавлено: 25.07.02 21:59 |
А для полного эффекта в QueryUNload поставь Cancel = -1 |
Номер ответа: 3 Автор ответа: ![]() ![]() Вопросов: 9 Ответов: 112 |
Профиль | Цитата | #3 | Добавлено: 26.07.02 16:53 |
Кстати, в MSDN утверждается что те приложения/процессы, которые успеют получить сообщение WM_QUERYENDSESSION и WM_ENDSESSION до того, как его получит твоя программа, будут закрыты ... не исключено что это будут сетевые службы ... |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() Вопросов: 16 Ответов: 21 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 29.07.02 19:25 |
А какая там ОС, если не XP, то можно просто убрать прогру из Ctrl+Alt+Del, или при попытке выйти попытаться ее просто проигнорировать(кодом естественно) |
Страница: 1 |
|