![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сигнал в "мозг" [D7, XP]
Nija © (2007-03-04 18:17:00)Привет всем, помогите пожалуйста сделать следующее: нужно что бы программа с эмулировала нажатие кнопки "S" на клавиатуре.
(с эмулировала значит компьютер подумал что она была нажата)
Romm (2007-03-04 21:12:00) [21]да ниче.. что написать-то нужно?
Nija (2007-03-04 21:10:00) [22]не понял, что отдать?
Romm (2007-03-04 21:03:00) [23]всмысли дай )
Romm (2007-03-04 21:02:00) [24]ящик от дай )
Nija (2007-03-04 21:00:00) [25]Давайте поступим так, я готов заплатить за работоспособную программу рублей 200(больше нету), но она нужна в ближащие время, если есть желание пишите.
Romm (2007-03-04 20:37:00) [26]
> postmessage(Form1.Handle, wm_keydown, ord('S'), 0);
точно ))
DVM (2007-03-04 20:29:00) [27]
> А откудо мне знать какой класс и какое название у окна.
Запускаешь игру - сворачиваешь, смотришь, например с помощью SPY++ какие окна имеются.
Поиск хэндла - FindWindow();
DVM (2007-03-04 20:27:00) [28]
> Romm (04.03.07 20:15) [15]
postmessage(Form1.Handle, wm_keydown, ord('S'), 0);
Romm (2007-03-04 20:15:00) [29]
> У игры есть окно, у окна класс и название, по классу и названию
> находишь хэндл окна - далее аналогично. Хотя тут все не
> так просто, но все же попробуй.
procedure TForm1.Action1Execute(Sender: TObject);
begin
Close;
//SortCut=S
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
postmessage(Form1.Handle, wm_char, ord('S'), 0);
end;
не получается :)
Nija (2007-03-04 20:14:00) [30]А откудо мне знать какой класс и какое название у окна.
А может можно послать сообщенио нажатие кнопки компьютеру?
DVM (2007-03-04 20:10:00) [31]
> мне нужно послать сообщение запущенной игре, подскажите
> как это сделать
У игры есть окно, у окна класс и название, по классу и названию находишь хэндл окна - далее аналогично. Хотя тут все не так просто, но все же попробуй.
Nija (2007-03-04 20:02:00) [32]Теперь мне понятно как послать сообщение компоненту мне на форму но мне нужно послать сообщение запущенной игре, подскажите как это сделать
DVM (2007-03-04 19:38:00) [33]
> Можно по подробнее обьяснить как послать сигнал компьютеру
Компьютеру сигнал не послать, а вот послать сообщение активному окну о нажатии клавиши можно.
Справка на что дана?
procedure TForm1.Button1Click(Sender: TObject);
begin
postmessage(edit1.Handle, wm_char, ord('s'), 0);
end;
Nija (2007-03-04 19:32:00) [34]Можно по подробнее обьяснить как послать сигнал компьютеру, с джойстиком я вроде разобрался.
DVM (2007-03-04 19:29:00) [35]
> при нажатие на кнопку джойстика компьютер должен думать
> что была нажата кнопка на клавиатуре
WM_KEYDOWN, WM_CHAR + PostMessage();
Nija (2007-03-04 19:23:00) [36]Может вы и правы, мне нужно вот что: при нажатие на кнопку джойстика компьютер должен думать что была нажата кнопка на клавиатуре, подскажите как это сделать.
DVM (2007-03-04 19:17:00) [37]
> Мне нужно заменить нажатие кнопки на клавиатуре нажатием
> кнопки на джойстике.
В своей программе ты просто одну и ту же процедуру можешь вызвать для кнопки джойстика и нажатия нужной клавиши. Тут мудрить ничего не надо с эмуляцией.
Nija (2007-03-04 18:53:00) [38]Извеняюсь, но это тема не должна юыть в разделе прочее.
DVM © (04.03.07 18:39) [4]
Почему эмуляция лишена смысла? Мне нужно заменить нажатие кнопки на клавиатуре нажатием кнопки на джойстике.
GrayFace (2007-03-04 18:43:00) [39]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1173008148&n=3
Не надо дублировать темы
DVM (2007-03-04 18:39:00) [40]
> В смычли чья?
Эмулировать нажатие надо в чужой программе? В своей эта эмуляция лишена смысла.