Твой софтовый форум > Тематические форумы > Программирование

Delphi эмуляция нажатия клавиш

,

при изменении цвета пикселя

Дата публикации: 22.10.2007 - 12:54
RENEGAD
Нужен скрипт, который при изменении цвета пикселя, с заранее известными координатами, эмулирует нажатие определённой клавиши. Заранее спасибо.
Quim2005
Ну на скорую руку примерно так. Засунь все это дело в объект Timer1. Поставь период повторений не слишком маленький а то подвиснет.
Code

procedure TForm1.Timer1Timer(Sender: TObject);
var
   i, j: Integer;
   Color: TColor;
   w: Word;
begin
   // Чтобы приложение не "подвисало"
   Application.ProcessMessages;
   // Загружаем рисунок из файла
   Image1.Picture.LoadFromFile('c:\1.jpg');
   // Получаем цвет пикселя по координатам X=10, Y=10
   Color := Image1.Canvas.Pixels[10,10];
   // Сверяем цвет
   IF Color <> clRed Then
   Begin
       // Эмулируем нажатием буквы
       w := VkKeyScan('D');
       keybd_event(w, 0, 0, 0);
       // Клавиши F2
       keybd_event(VK_F2, 0, 0, 0);
       // Print Screen
       keybd_event(VK_SNAPSHOT, 0, 0, 0);
   End;
end;

Подобным образом можно нажать любую кнопку на клавиатуре. Если что-то не так понял, то говори smile.gif
Просто для чего тебе это? Не совсем понятно. Если объяснишь поточнее, то могу полностью проект скинуть.
yah
Цитата | Quote(Quim2005 @ 22.10.2007 - 10:15)
Поставь период повторений не слишком маленький а то подвиснет.
*


Чтоб не висло и быстрее работало я бы сделал это не через таймер, а через обычный while. Для определения изменения цвета пикселя использовал бы GetPixel(). И запихнул бы это дело в поток с пониженным приоритетом.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Delphi эмуляция нажатия клавиш
SoftoRooM © 2004-2024