Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2017, 20:58   #1
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию Имитация работы пользователя

В общем, идея довольно простая. У ноутбука, имеется режим энергосбережения, который, переводит ноут в спящий режим, через определённый промежуток времени.
У меня этот промежуток, стоит - 1 мин.
Мне стало интересно.
Получится ли у меня дать понять ноутбуку, что им всё ещё пользуются ...
Вот что я сделал.
Таймер, с интервалом в 1 сек, и туда написал следующий код:
Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin

    SetCursorPos(Mouse.CursorPos.X+1,Mouse.CursorPos.Y);

end;
Вроде бы, ничего сложного.
Код смещает курсор мыши на 1 пиксель в право, каждую секунду.
Я думал, это даст понять Windows, что пользователь активно ею пользуется.
Решил протестировать, и что?
И ничего ....
Windows как блокировалась, так и продолжает блокироваться ...

Я не особо понимаю, почему ... И как сделать, что бы система всё же поверила, что пользователь что то делает с нею ...

Подскажите
Janger вне форума Ответить с цитированием
Старый 06.10.2017, 08:09   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

а просто программно через реестр отключить спящий режим не проще ли будет?
-------------
да, строчек будет раза в 4 больше, т.к. желательно сохранить прежние параметры реестра в плане энергосбережения - запомнить значение параметра, ответственного за спящий режим.
--------------
если уж совсем не в моготу, то просто попробуй использовать виртуальное нажатие клавиш ALT+TAB - типа пользователь переключается между окнами. процедура SetKey...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 06.10.2017 в 08:12.
NetSpace вне форума Ответить с цитированием
Старый 06.10.2017, 08:18   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

SetThreadExecutionState
https://msdn.microsoft.com/en-us/lib...or=-2147217396
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 08.10.2017, 14:12   #4
dummy_user
Форумчанин
 
Аватар для dummy_user
 
Регистрация: 02.03.2013
Сообщений: 109
По умолчанию

Отлавливать соотв. сообщение и игнорировать его действие.
dummy_user вне форума Ответить с цитированием
Старый 09.06.2019, 15:23   #5
Haberman
Форумчанин
 
Регистрация: 01.05.2018
Сообщений: 104
По умолчанию

Тема не раскрыта!
Требуем продолжания.
Haberman вне форума Ответить с цитированием
Старый 09.06.2019, 19:06   #6
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Например, это:
Код:
var
  k:TKeyboardState;

procedure TForm1.Timer1Timer(Sender: TObject);
var i:integer;
begin
   Label1.Caption:='        0  1  2  3  4  5  6  7  8  9'+#13+'0)     ';
   For i:=0 to High(k) do
   begin
      Label1.Caption:=Label1.Caption+IntToStr(GetKeyState(i))+'  ';
      If i mod 10=9 then
      begin
         Label1.Caption:=Label1.Caption+#13+IntToStr((i div 10)+1)+')   ';
         If i<90 then
            Label1.Caption:=Label1.Caption+'  ';
      end;
   end;
end;
Нажал клавишу - отобразилось
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спайдер, имитация работы браузера Yoh PHP 1 30.03.2014 14:00
Имитация(!) asteits JavaScript, Ajax 4 27.10.2011 17:42
Имитация работы на компьютере Pavk Операционные системы общие вопросы 5 17.07.2011 16:59
Интерактивный учебник, имитация работы приложений(Delphi) VDGamma Фриланс 2 23.03.2011 23:08