Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Запретить закрытие окна

Ответить
Настройки темы
VBS/WSH/JS - Запретить закрытие окна

Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Добрый День!
Цель - обязать пользователя сделать выбор на перезагрузку ПК и не дать ему возможности отказаться (любым способом)в данном исполнении у пользователя есть возможность закрыть окно из панели задач
Можно как-то запретить закрывать окно из Панели задач или может будут другие предложения. Спасибо за ранее
Код: Выделить весь код
<html id="appHTML">
    <head>
        <meta charset="windows-1251">
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
        <meta http-equiv="Content-Language" content="ru">
        <title>Выбор времени ожидания</title>
        <hta:Application
            Icon = "MyIco.ico"
            Id="oHTA"
            ApplicationName="Выбор времени перезагрузки"
            Border="normal"
            BorderStyle="normal"
            Caption="yes"
            ContextMenu="no"
            InnerBorder="yes"
            MaximizeButton="no"
            MinimizeButton="no"
            Navigable="no"
            Scroll="auto"
            ScrollFlat="no"
            Selection="no"
            ShowInTaskbar="yes"
            SingleInstance="yes"
            SysMenu="no"
            Version="0.2"
            WindowState="normal"
        />
        <style>
	body {background: #DDD;}
	select{width:100px;}
	.setbutton {margin-top: 2px;width:3px;}
    .edit {border:1px solid #9E9E9E;}
	.disabled{border:1px solid #9E9E9E;background: #EEE;}
</style>
        
        <script language="VBScript">
       	       Option Explicit
                   Sub SetOk_click()
                 Dim VMBuildStep
             
                      VMBuildStep = document.getElementById("Wait").value
            Select Case VMBuildStep
            Case "30"
            createobject("WScript.Shell").run "shutdown.exe /r /t 1800 /f"
            Case "60"
            createobject("WScript.Shell").run "shutdown.exe /r /t 3600 /f"
            Case "120"
            createobject("WScript.Shell").run "shutdown.exe /r /t 7200 /f"
			            End Select
                        Window.Close()
                   
                                   End Sub
        
Function Document_onKeyDown() ' Запретить нажимать Alt+F4
            Dim alt
    alt = window.event.altKey
    Select Case window.event.keyCode
        Case 27,116
            window.event.keyCode = 0
            window.event.cancelBubble = true
            Document_onKeyDown = False
        Case 115
            If alt Then
                window.event.keyCode = 0
                window.event.cancelBubble = true
                Document_onKeyDown = False
            End If
        Case Else
            Document_onKeyDown = True
    End Select
           End Function

Sub Window_Onload ()
   Dim idTimer
        idTimer = window.setTimeout("reset", 10000, "VBScript")
    End Sub
    Sub reset ()
            createobject("WScript.Shell").run "shutdown.exe /r /t 3600 /f"
            Window.Close()
       End Sub
    </script>
    </head>
    <body>
                   <span id="lblChoice">Необходимо выбрать время перезагрузки:
                    <select name="Wait" id="Wait" size="1">
                    <option value="30" selected>30 минут
                    <option value="60">1 часа
                    <option value="120">2 часа
					</select> </span>
					<input type="Button" name="OK" value="OK" onclick="SetOk_click">   		    
        		    </ span> 
            </body>
	<SCRIPT type="text/vbscript" language="vbscript">
      ' Do the window sizing early so user doens't see the window move and resize
      Window.resizeTo 500, 200

    </SCRIPT>
   
   </html>

Отправлено: 10:52, 17-07-2019

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата lox-ness:
у пользователя есть возможность закрыть окно из панели задач
Даже если вы присвоите ShowInTaskbar значение false, у пользователя будет возможность прихлопнуть процесс через диспетчер процессов или прямо в консоли (wmic или taskkill), достаточно отыскать среди прочего mshta.exe; если нужно принудить выполнить пользователя определенное действие, то:
1) растянуть форму на весь экран, присвоив ей атрибут "поверх всех окон"
2) отключить на время демонстрации формы выбора вариантов действий клавиатуру (блокировка Alt+Tab)
3) обработать результат клика мыши
Первые два пункта реализуются посредством простенького шеллкода (тема выходит за рамки тематики форума), последнее стандартно и не требует специфических телодвижений.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:40, 17-07-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата lox-ness:
Цель - обязать пользователя сделать выбор на перезагрузку ПК »
Цель у вас - перезагрузить компьютер.
Вот первым шагом и назначайте перезагрузку. А пользователя просто проинформируйте и дайте возможность передвинуть время.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:04, 17-07-2019 | #3


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Пользователь может закрыть окно не сделав выбор, а нам нужно чтоб деваться ему было не куда и жать кнопку.
Добавить вариант
Цитата:
"поверх всех окон"
вполне достойный, и отключение через
Цитата:
ShowInTaskbar значение false
так же
В скрипте заложено время для принятия решения, правда пока маленькое совсем, но это порешаем
Цитата:
у пользователя будет возможность прихлопнуть процесс через диспетчер процессов или прямо в консоли (wmic или taskkill)
таких сообразительных думаю не много
Вообщем спасибо Всем за советы. Будем пробовать

Отправлено: 14:21, 17-07-2019 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата lox-ness:
Пользователь может закрыть окно не сделав выбор, а нам нужно чтоб деваться ему было не куда и жать кнопку. »
Ещё раз:
Цитата Busla:
Цель у вас - перезагрузить компьютер.
Вот первым шагом и назначайте перезагрузку. А пользователя просто проинформируйте… »
lox-ness, а зачем нужно самостоятельное назначение времени отсрочки для перезагрузки?

Отправлено: 17:22, 17-07-2019 | #5


Пользователь


Сообщения: 80
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата:
lox-ness, а зачем нужно самостоятельное назначение времени отсрочки для перезагрузки?
У нас большое количество пользователей и нельзя просто взять его ПК и перезагрузить, когда нам хочется, поэтому предлагаем отсрочку этого момента на его усмотрение, но
при этом нужно не позволить ему отказаться совсем от перезагрузки.

Отправлено: 06:31, 18-07-2019 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Запретить закрытие окна

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - запретить закрытие программы гостю Alexander_88 Microsoft Windows 8 и 8.1 1 04-09-2015 20:18
[решено] Firefox- закрытие окна Baden1 Хочу все знать 5 26-01-2013 21:19
CMD/BAT - [решено] Запуск приложения и закрытие окна СMD pzh2393 Скриптовые языки администрирования Windows 6 13-01-2013 00:33
[решено] Автоматическое закрытие окна LilLoco Хочу все знать 3 07-02-2011 13:43
Закрытие окна Internet Explorer rhtu Автоматическая установка приложений 3 02-03-2006 04:21




 
Переход