|
Vansteyn
|
|
Как программно разблокировать компьютер по таймеру21.06.2007, 22:12. Показов 11733. Ответов 20
Метки нет (Все метки)
Помогите кто может. Я столкнулся с проблемкой. Надо программно (по таймеру) разблокировать комп, когда работает screensaver с вводом пароля. Тоесть когда надо дёрнуть мышку, нажать Ctrl+Alt+Del, ввести пароль и тогда комп разблокируется. Таймер настроить - не проблема.
Может кто знает какая WinApi функция отвечает за это или кто код подкинет. |
|
| 21.06.2007, 22:12 | |
|
Ответы с готовыми решениями:
20
Нужно программно (по таймеру) выключить компьютер
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.06.2007, 05:09 | |
|
Чтобы "двинуть мышью" можно использовать mouse_event. Для того, чтобы "нажать клавиши" можно использовать SendInput, или, к примеру, keybd_event. Для ввода текста в поле. Надо найти его хэндл (FindWindow, FindWindowEx). А потом либо, WM_CHAR посылать...либо SetWindowText...
А вообще, попробуй использовать systemparametersinfo. Там есть SPI_SETSCREENSAVEACTIVE вот его в false попробуй установить.
0
|
|
|
Vansteyn
|
||
| 22.06.2007, 15:02 | ||
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 22.06.2007, 18:26 | ||||||
|
Вобщем, я сейчас попробовал. Правда, не запароливал. Убрал стандартный скринсейвер вот так:
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 8
|
|
| 22.06.2007, 19:38 | |
|
sendmessage(getforegroundwindow, WM_SYSCOMMAND, SC_CLOSE, 0)
Большое спасибо за попытку помочь, но эта команда не убирает заблокированную заставку, тоесть не снимает блокировку компа. УВЫ. Может есть ещё варианты??
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.06.2007, 21:12 | |
|
А первый вариант с вводом пароля не подошел разве?
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 8
|
|
| 22.06.2007, 21:47 | |
|
К сожалению, почему-то не прошел. Таймер сработал без проблем, но комп остался заблокированым.
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.06.2007, 21:57 | |
Таймер-то так или иначе сработает. Вопрос в том, что вы в таймере написали. На программное "шевеление мышью" даже не реагирует? Пароль не получается ввести в текстовое поле?
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 8
|
||||||
| 22.06.2007, 22:08 | ||||||
|
Я имею ввиду, что код
А по поводу SystemParametersInfo(SPI_SETSCREENSAVEAC TIVE, , , ) не знаю какие параметры указывать. (Справка на English-е) .
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||
| 22.06.2007, 22:30 | ||
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.06.2007, 22:35 | |
|
Сейчас попробовал...блокируется предача сообщений окну скринсейвера, когда он под паролем, похоже...хм... :?
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 8
|
|
| 22.06.2007, 22:39 | |
|
Я конечно все понимаю и весьма благодарен за помощь, но как-нибудь проще нельзя? Без всего этого: "SendInput, или, к примеру, keybd_event. Для ввода текста в поле. Надо найти его хэндл (FindWindow, FindWindowEx). А потом либо, WM_CHAR посылать...либо SetWindowText... "
Или хоть код дайте, то боюсь сам не напишу. Я всего-лишь самоучка. Которая пытается что-то делать в Delphi.
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.06.2007, 22:44 | |
|
Я сейчас сам пробую это написать. Винда доступ к нему не дает, когда он запаролен...
Просто за разблокировку скринсейвера не брался до этого...
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 22.06.2007, 23:01 | |
|
Да...штука интересная...задачку ты себе выбрал, начинающий...
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 8
|
|
| 22.06.2007, 23:11 | |
|
А всё началось с того, что стало необходимо програмно потушить Win2000Server, дык я его тушу из под винды (и привилегии), а вот когда скринсейвер с паролем работает, тогда ничего не происходит (null, и привилегии там всякие есть, а вот XP и Win2003Server тушится без проблем через ExitWindowsEx). Появилась идея програмно разблокировать комп, а потом тушить. Вот и маюсь теперь. (Еще и Вас припахал, сорри)
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 22.06.2007, 23:54 | ||||||
|
То есть в Win200server вот это
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 8
|
||||||
| 23.06.2007, 14:28 | ||||||
|
То есть не срабатывает вот это:
POWEROFF - тушит, но только когда комп не заблокирован, SHUTDOWN - когда комп не заблокирован, но надо пальцем питание выключить, сам не хочет. FORSE - когда комп заблокирован, но тоже надо пальцем питание выключить.
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 23.06.2007, 16:36 | |
|
К сожалению, на компе стоит только экспиха и линуха...проверить еще какой-либо способ не имеется возможности...
0
|
|
|
0 / 0 / 0
Регистрация: 21.06.2007
Сообщений: 8
|
|
| 23.06.2007, 16:40 | |
|
А насчет разблокировки никак?
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 23.06.2007, 17:03 | |
|
Можно попробовать с процессом скринсейвера что-то сделать...вырубить, например. Но опять же это все писать надо...и весьма немало... Вобщем, задачка весьма любопытная..
0
|
|
| 23.06.2007, 17:03 | |
|
Помогаю со студенческими работами здесь
20
Как изменить координаты мыши на экране программно по таймеру
Разблокировать ячейки заполненные программно Можно ли программно узнать заблокирован ли экран у смартфона\планшета и разблокировать его
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|