![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Делфи я только начал изучать и вот хочу простенькую прогу написать, но никак не получается. Суть проги: При нажатии на кнопку отправляется сообщение в то текстовое поле, куда заранее клацнул мышкой.
![]() |
#2
|
|||
|
|||
![]() Код:
procedure TForm1.btn1Click(Sender: TObject); begin Randomize; aa:= random(999999); SendMessage(hl, WM_SETTEXT, 0, integer(aa)); end; ![]() |
#3
|
||||
|
||||
![]() При "клацании" на кнопку, фокус с текстового поля снимается. Посылаешь сообщение на деревню к дедушке.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
|||
|
|||
![]() Эм, а как тогда сделать так, что бы когда нажмёшь на поле, нажмёшь ну допустим F1 и отправляло сообщение ?
|
#5
|
||||
|
||||
![]() Так и пиши, клавишу, а не кнопку:
Код:
procedure TForm1.OnKeyDown(Sender : TObject; var Key: Word; Shift: TShiftState); begin if Key = VK_F1 then ... end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
|||
|
|||
![]() Flop88 , отправить нужно сообщение или просто текст в текстовое поле? а то я подозреваю что если только начал изучать delphi то отправка сообщений както рановато для рначала)
могу предложить такой код: (на форме 3 текстовых поля Edit и кнопка) Код:
var Form1: TForm1; n:Integer; implementation {$R *.dfm} procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin n:=1; end; procedure TForm1.Edit2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin n:=2 end; procedure TForm1.Edit3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin n:=3 end; procedure TForm1.Button1Click(Sender: TObject); begin case n of 1:Edit1.Text:='aaa'; 2:Edit2.Text:='aaa'; 3:Edit3.Text:='aaa'; end; end; |
#7
|
|||
|
|||
![]() Спасибо, помогли очень сильно, но тут же появился ещё 1 вопрос. Текст по нажатию клавиши он пишет в том окне на которое я нашёл курсором,но пределах формы. Как сделать так, чтоб он писал не только в этих пределах ?
![]() |
#8
|
||||
|
||||
![]() Я так понимаю, в чужом приложении? FindWindow.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#9
|
|||
|
|||
![]() Цитата:
|
#10
|
|||
|
|||
![]() Код:
hl := WindowFromPoint(Mouse.CursorPos); |
#11
|
||||
|
||||
![]() Эта тема неоднократно обсуждалась на форуме. Воспользуйся поиском.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#12
|
|||
|
|||
![]() Не могу найти
![]() |
#14
|
||||
|
||||
![]() Чужое окно так ловится легко, но чтобы отследить "клик" мышкой нужно хук делать, кажись. Я когда-то делал генератор паролей (
![]() ![]() |
#15
|
||||
|
||||
![]() Ему не нужно отслеживать мышку, достаточно найти окно, затем перечисляя все дочерние найти то, которое имеет фокус. Но весь прикол в том, что такого окна не будет.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |