![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Доброго времени суток всем. Меня интересует как сделать чтобы в нужномй мне программе при нажатии к примеру F4 производилось нажатие клавиши 'T' потом вводилась команда /home и нажимался Enter. Я даже не знаю как это можно реализовать?((
|
#2
|
||||
|
||||
![]() Используем GetAsyncKeyState совместно с GetForegroundWindow (гуглим на использование функций). Для того, чтобы нажать ентер или вставить текст в текстовое поле чужой программы используем:
1. FindWindowEx 2. SendMessage (посылаем WM_CHAR) Gravitas |
#3
|
||||
|
||||
![]() А можете пример какой нить программы привести?
|
#4
|
||||
|
||||
![]() Код:
var h1,h3:HWND; begin H1:=FindWindow(nil,'Безымянный - Блокнот'); if h1=0 then begin Application.MessageBox(PChar('Не найдено окно'), 'Увы :( '); exit end; H3:=FindWindowEx(H1,0,'Edit',''); SendMessage(H3,WM_CHAR,0,Ord('D')); end; Gravitas |
#5
|
||||
|
||||
![]() С блокнотом работает а но с тем что мне нужно нет ((
Чтобы там произвдились действия окно должно быть активным. |
#6
|
||||
|
||||
![]() MicroSoft Spy++ тебе в помощь.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#7
|
||||
|
||||
![]() Код:
procedure TForm1.Button1Click(Sender: TObject); begin Sleep(3000);// 3 сек чтоб открыть игру или др. прогу и смотреть результат keybd_event(Ord('T'), 0, 0, 0); // нажали Т keybd_event(Ord('T'), 0, KEYEVENTF_KEYUP, 0); // отпустили Т keybd_event(VK_RETURN, 0, 0, 0); // нажали Enter keybd_event(VK_RETURN, 0, KEYEVENTF_KEYUP, 0); // отпустили Enter end; If end Then begin; |