Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Имитация работы юзера, Есть варианты кроме sendkey?
 
Здравствуйте уважаемые форумчане!
Помогите решить проблему. Руководство озаботилось защитой информации и теперь если юзер не активет 5 мин
машина блокируется до набора пароля (от 12 символов, меняются часто и запомнить невозможно). Решение нашли
запуская без звука медиаплеер. Спалились через три месяца, все медиаплееры удалены, прав админа нет. Из доступных
и легальных средств только макросы. SendKey задачу не решает. Есть еще варианты? ПС: механический дергатель
мыши - совсем уж крайнее средство.
 
жоска у вас
Цитата
Ferrit написал: механический дергатель  мыши - совсем уж крайнее средство
а эт ваще убило :D
Лень двигатель прогресса, доказано!!!
 
Блокнот запускайте через OnTime + Shell
И закрывайте.
F1 творит чудеса
 
Мы рассматриваем комплексное решение проблемы, но хотелось бы ограничиться рамками VBA.
 
Максим, спасибо, попробую.
 
Цитата
Ferrit написал: Из доступных и легальных средств только макросы
Спалитесь с макросами - придется формулами считать :)
Почитайте тут: http://www.planetaexcel.ru/forum/?PAGE_NAME=read&FID=8&TID=22841
Вы, правда, написали, что SendKeys не помогает, но не пояснили, как использовали его.
 
Казанский, попробовал Ваш скрипт (14 Фев 2011 17:53:02)
Код
Set ws = CreateObject("WScript.Shell" )
Do 
Wscript.Sleep 240000 
ws.SendKeys "{F15}" 
Loop 
В диспетчере увидел процесс wscript, но скринсейвер все равно включился

До этого я пробовал
Код
Private Sub CommandButton1_Click()
    Do While 1 < 100
        Application.SendKeys "{F1}"
    Loop
End Sub
Результат зеро.
Изменено: Ferrit - 24 Мар 2015 20:34:56
 
Казанский, сперва я протупил, на тестовой машине скринсейвер поставил на 1 минуту, а sleep не исправил. Работает замечательно. Спасибо ! Но в моем случае недостаток - объяснять админам зачем нужен VBS.
Максим Зеленский попробовал так;
Код
Private Sub CommandButton3_Click()flag = 0
Worksheets("Лист3").Cells(1, 1) = 0
Worksheets("Лист3").Cells(1, 2) = 0
Worksheets("Лист3").Cells(1, 3) = 0
Do
    s1 = Second(Time)
    Worksheets("Лист3").Cells(1, 1) = s1
    If ((s1 = 20) Or (s1 = 50)) And (flag = 0) Then           ' на 20-й и 50-й секунде запускаем notepad.exe
        Worksheets("Лист3").Cells(1, 2) = s1
        Shell "C:\Windows\System32\notepad.exe"
        flag = 1
    End If
    If (s1 = 21) Or (s1 = 51) Then flag = 0
    If (s1 = 15) Or (s1 = 45) Then                                   ' на 15-й и 45-й секунде убиваем notepad.exe
        Worksheets("Лист3").Cells(1, 3) = s1
        Shell "taskkill.exe /f /im notepad.exe"
    End If
    DoEvents
Loop
End Sub
тоже работает, скринсейвер не запускается. но я фактически теряю Ексель из-за бесконечного цикла.
Есть возможность как-то "инкапсулировать" этот код чтобы осталась возможность работать с Екселем ?
Изменено: Ferrit - 24 Мар 2015 20:36:11
 
Цитата
Ferrit написал: но я фактически теряю Ексель из-за бесконечного цикла
Но у Вас ведь задача не "сохранить" Excel, а имитировать бурную деятельность - разве не так? ))
 
Юрий М, нет, ИБД не мой случай. Реально раздражает блокировка и ввод длинных паролей. Ексель основной инструмент.
Может, тему лучше было бы назвать "Борьба с блокировкой экрана"  ???
Изменено: Ferrit - 24 Мар 2015 21:06:00
 
Цитата
Ferrit написал: Есть возможность как-то "инкапсулировать" этот код чтобы осталась возможность работать с Екселем ?
Поищите по форуму "application.ontime".
Лучше запустить отдельный экземпляр приложения Excel для этой задачи.
Изменено: Казанский - 27 Мар 2015 02:10:27
 
На что только не идут лишь бы не работать!
:D
 
Александр Моторин, не всегда непрерывно барабанить по кнопкам и трясти мышкой = работать.
 
Казанский, Спасибо ! Нашел тему "Автовыполнение кода...". Буду пробовать.
 
Цитата
Ferrit написал: о я фактически теряю Ексель из-за бесконечного цикла.
я так понимаю цикл должен запускаться, когда вы ничего не делаете за компом?
тогда можно для возобновления работы просто прервать макрос (ctrl+break) - не самый красивый способ, но проще чем вводить пароль)
а вообще, если серьезно, то самым правильным решением, имхо, было бы объяснить начальству, что ввод пароля каждые 5 минут - не самый продуктивный способ работы.
хотя в адекватности того кто такое придумал можно и засомневаться)
 
Все получилось, большое спасибо за помощь !!!
Страницы: 1
Читают тему (гостей: 1)