Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как эмулировать движение мыши? 
V
    Опции темы
Данкинг
Дата 3.3.2008, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Точнее, надо следующее: периодически посылать сигналы от мыши (или же клавы)  для того, чтобы предотвратить срабатывание скринсейвера. Отключение скринсейвера не предлагать!


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
THandle
  Дата 3.3.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Данкинг, да хоть так вот передвигай курсор мыши в таймере да и все smile 

Код

procedure TForm1.Timer1Timer(Sender: TObject);
var
  p : TPoint;
begin
  GetCursorPos(p);
  SetCursorPos(p.x+1, p.y+1);
end;

PM   Вверх
Данкинг
Дата 3.3.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



THandle, а если я просто передвигать курсор буду, то скринсейвер это заглушит?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
THandle
Дата 3.3.2008, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Данкинг, ну ты попробуй мой пример поставив например время включения скринсейвера в 1 минуту, а таймер поставь на 50 секунд.
PM   Вверх
Данкинг
Дата 4.3.2008, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



В общем, так не получается: курсор дёргается, но толку по сабжу никакого. Какие ещё предложения будут? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Данкинг
Дата 4.3.2008, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Ответ нашёлся в ДРКБ. smile 

Код

procedure TForm1.Button1Click(Sender: TObject);

const

SomeText = 'SendInput test.';

var

TI: TInput;

KI: TKeybdInput;

I: Integer;

begin

Edit1.SetFocus;

TI.Itype := INPUT_KEYBOARD;

for I := 1 to Length(SomeText) do

begin

   KI.wVk := Ord(UpCase(SomeText[I]));

   KI.dwFlags := 0;

   TI.ki := KI;

   SendInput(1, TI, SizeOf(TI));

   KI.dwFlags := KEYEVENTF_KEYUP;

   TI.ki := KI;

   SendInput(1, TI, SizeOf(TI));

end;

end;




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
THandle
Дата 4.3.2008, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 65
Всего: 372



Цитата(Данкинг @  4.3.2008,  00:26 Найти цитируемый пост)
В общем, так не получается: курсор дёргается, но толку по сабжу никакого.

Хм... Странно. У меня работает. Но раз нашел решение, то что ж - поздравляю smile 


Всё. Сорри. Это вдимо вирус посылал клавиатуре/мыши что то, поэтому скринсейвер не появлялся. Извиниюсь. smile 

Это сообщение отредактировал(а) THandle - 4.3.2008, 08:00
PM   Вверх
Virtuals
Дата 4.3.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 476
Регистрация: 27.11.2006

Репутация: 3
Всего: 11



о нашел примерчик выхода из ScreenSaver,во времена бурной молодости (прибиваем окошко, машем кнопкой, и включаем монитор)
может для чего и пригодится...

Код

{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}
procedure TForm1.SetKey(Key:Integer);
begin
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY,0);
keybd_event(Key,0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
end;
{+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++}

procedure TForm1.ScreenSaverClose;
 VAR
  Wnd : hWnd;
  buff: ARRAY [0..127] OF Char;
begin
 Wnd := GetWindow(Handle, gw_HWndFirst);
 WHILE Wnd <> 0 DO BEGIN {Hе показываем:}
  IF (Wnd <> Application.Handle) AND {-Собственное окно}
   IsWindowVisible(Wnd) AND {-Hевидимые окна}
   (GetWindow(Wnd, gw_Owner) = 0) AND {-Дочернии окна}
   (GetWindowText(Wnd, buff, sizeof(buff)) <> 0)
  THEN BEGIN
   GetWindowText(Wnd, buff, sizeof(buff));
   if StrPas(buff)='Screen Saver' then
    begin
     SetKey(VK_CAPITAL);
     PostMessage(Wnd, wm_close,0,0);
     SetKey(VK_CAPITAL);
    end;
  END;
  Wnd := GetWindow(Wnd, gw_hWndNext);
 END;
 SendMessage(Application.Handle, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
end;


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0664 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.