Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Вниз

Нажатие.   Найти похожие ветки 

 
PARUS ©   (2006-02-09 16:10) [0]

Как через дельфию програмно "нажать" клавишу.


 
Ega23 ©   (2006-02-09 16:10) [1]

Button1.Onclick(nil)


 
Gero ©   (2006-02-09 16:17) [2]

Подключив какой-нибудь двигатель, которые будет это делать.


 
Vovchik_A ©   (2006-02-09 16:39) [3]

2Gero ©   (09.02.06 16:17) [2]

А нормально ответить типа не кошерно ? Нужно постебаться и нахамить обязательно ? Или это нормальная человеческая обида за то, что голубой пиджак бессмертного не дают ?

2Ega23 ©   (09.02.06 16:10) [1]

Уважаю.


 
Курдль ©   (2006-02-09 16:40) [4]


> 2Ega23 ©   (09.02.06 16:10) [1]
>
> Уважаю.
>


Завидую :(


 
Progger   (2006-02-09 16:46) [5]


> > 2Ega23 ©   (09.02.06 16:10) [1]
> >
> > Уважаю.
> >
> Завидую :(

Преклоняюсь 8-)


 
Gero ©   (2006-02-09 16:47) [6]

> Vovchik_A ©   (09.02.06 16:39)

Чем тебя не устраивает мой ответ? Ты знаешь другие способы реализации сабжа?


 
Vovchik_A ©   (2006-02-09 16:48) [7]

2Gero ©   (09.02.06 16:47) [6]

Можно я не буду тебе отвечать ? Хочется нахамить, но уподобляться тебе нет желания.


 
Игорь Шевченко ©   (2006-02-09 16:50) [8]

а можно оффтопик не разводить ?


 
McSimm ©   (2006-02-09 16:51) [9]


> Button1.Onclick(nil)

Button1.Click

Хотя вероятнее всего имеется в виду клавиша клавиатуры


 
oldman ©   (2006-02-09 16:51) [10]

А зачем "программно нажимать" клавишу?
По нажатии клавиши происходит какая-то процедура.
Вот и вызови сразу эту процедуру.


 
Gero ©   (2006-02-09 16:51) [11]

> Vovchik_A ©   (09.02.06 16:48)

Зачем хамить? Предложил бы свой вариант.
Я не знаю другого решения. Если мое решние неверное — прошу меня простить за введение в заблуждение.


 
Jeer ©   (2006-02-09 16:51) [12]

Если эмуляция, то для клавиши Esc, к примеру:

PostMessage(handle, WM_KeyDown,VK_Escape,0);


 
Jeer ©   (2006-02-09 16:54) [13]

P.S.
Это в своем приложении.


 
Джо ©   (2006-02-09 16:55) [14]

> [13] Jeer ©   (09.02.06 16:54)
> P.S.
> Это в своем приложении.

В своем приложении можно прекрасно обойтись и без этого :)


 
Jeer ©   (2006-02-09 16:56) [15]

Можно многое чего.
Еще бы лучше - поменьше флейма.
Если только не считать такие вопросы - разводами:)


 
PARUS ©   (2006-02-09 18:24) [16]

Клавиатурную клавишу, извините забыл написать...


 
Gero ©   (2006-02-09 18:29) [17]

> PARUS ©   (09.02.06 18:24)

См. [2]


 
oldman ©   (2006-02-09 18:29) [18]


> PARUS ©   (09.02.06 16:10)  
> Как через дельфию програмно "нажать" клавишу.


> Клавиатурную клавишу, извините забыл написать...


вот тут слово "программно"... блин!!!
PARUS, я понимаю, что по анкете тебе 10 лет, но...


 
vrem   (2006-02-09 18:31) [19]

Аналог sendkeys из VB есть исходник в инете,
клавиша будто нажалась в определённом приложении(на выбор)

а есть именно что "windows обманут - клавиша нажата" :) - для любого приложения? как бы в клавиатуру встроиться?


 
Gero ©   (2006-02-09 18:33) [20]

Я полгаю, что нужно подлючить небольшой электричесий двигатель, можно через USB, например, написать драйвер для него, и подключив к нужной клавише, вызывать соответствующие команды.


 
kaZaNoVa ©   (2006-02-09 18:34) [21]

проблема решена уже?
или нужны еще идея реализации?


 
старый маразматик(с)   (2006-02-09 18:40) [22]

почему же, вот реальная ситуация, обрабатываем Esc, через TAction. в одном случае это выход из режимаредактирования, в другом - закрытие формы

procedure TFormPrice.ActionExitExecute(Sender: TObject);
begin
 if Table.State = dsEdit then
 begin
   SendMessage(DBGrid.Handle, WM_KEYDOWN, VK_ESCAPE, 1);
 end
 else Close;
end;


 
PARUS ©   (2006-02-09 18:41) [23]

[21]
нет не решена!


 
begin...end ©   (2006-02-09 18:43) [24]

> Jeer ©   (09.02.06 16:54) [13]

Почему?


 
Gero ©   (2006-02-09 18:44) [25]

> [23] PARUS ©   (09.02.06 18:41)

Чем не устраивает мое решение?


 
Jeer ©   (2006-02-09 18:47) [26]

begin...end ©   (09.02.06 18:43) [24]

Мне нужно это объяснять ?

BOOL PostMessage(

   HWND hWnd, // handle of destination window
   UINT Msg, // message to post
   WPARAM wParam, // first message parameter
   LPARAM lParam  // second message parameter
  );


 
PARUS ©   (2006-02-09 18:50) [27]


> > Jeer ©   (09.02.06 16:54) [13]
>
> Почему?

Потому что, надо с буквой клавишу "нажать".


 
Jeer ©   (2006-02-09 18:52) [28]

Так может тебе вообще надо нажать клавишу на чужом компьютере расположенном на столе у директора ЦРУ ?

Ты уж сразу расскажи обо всем:)


 
begin...end ©   (2006-02-09 18:55) [29]

> Jeer ©   (09.02.06 18:47) [26]

Пост [13] я понял так: [12] подойдёт только для окна своего приложения. Просьба пояснить, почему.

P.S. Список параметров PostMessage мне известен.


 
VictorT ©   (2006-02-09 18:57) [30]


> Jeer ©   (09.02.06 18:52) [28]

Скорее всего, нажать надо сtrl+j :D

А вообще, по сабжу (если mod_telepat правильно подключился), то вроде как keybd_event() смотреть надо.


 
Marser ©   (2006-02-09 19:36) [31]

Тебе в своём окне или в чужом? И вообще, учись чётко формулировать свои вопросы. Тогда над тобой не будут издеваться, а будут помогать.


 
Vendict ©   (2006-02-09 21:24) [32]

Я так понял нужно полностью обмануть виндовс... Есть идейка. Когда мы ставим на какое-то событие hook, перед обработкой этого события мы послаем его системе, а что если посмотреть, что за событие генерирует нажатие клавиши и просто в нужный момент послать его?
к примеру:

Result := CallNextHookEx(SysHook, Code, wParam, lParam);

Вот так передаётся событие остальным ловушкам. SysHook=0, это константа, а остальные вычисляются опытным путём.


 
PARUS ©   (2006-02-10 09:09) [33]


> Marser ©   (09.02.06 19:36) [31]

В чужом окне.


 
Ega23 ©   (2006-02-10 09:20) [34]


> В чужом окне.


Кнопки в чужом окне должна нажимать чужая программа.
Хочешь нажимать кнопки - сделай свою программу и нажимай в ней кнопки сколько влезет...


 
Jeer ©   (2006-02-10 09:53) [35]

begin...end ©   (09.02.06 18:55) [29]

>Пост [13] я понял так: [12] подойдёт только для окна своего приложения. >Просьба пояснить, почему.

Так понятнее, что я имел в виду ? :)))
PostMessage(Form1.Handle, WM_KeyDown,VK_Escape,0);

[12] относиться к посылке сообщения внутри формы в контексте кода для данной формы, т.к. handle и есть handle окна данной формы.
Если приложение из одной формы, то посылка внутри своего приложения.
Разумеется, никто не запрещает использовать в качестве HWND hWnd дескриптор любого нужного и известного окна, в том числе и окна другого приложения.

Ega23 ©   (10.02.06 09:20) [34]

> Кнопки в чужом окне должна нажимать чужая программа.


Ка ни странно, но такая необходимость действительно возникает, если нет никаких открытых интерфейсов к данному приложению.


 
seg   (2006-02-10 10:16) [36]

Обязательно нажимать клавишу?
Может написать программу, которая будет перемещать курсор мыши и кликать в определенных точках.
Помню писал такую, да еще настраиваемую.
Операторам надо было перенасти руками большое количество товаров, работа однообразная.
Прикольно было сотреть, как она работает, быстродействие обалденное, некоторые формы даже не успевали прорисоваться.


 
Курдль ©   (2006-02-10 11:25) [37]


> seg   (10.02.06 10:16) [36]


> Прикольно было сотреть, как она работает, быстродействие
> обалденное, некоторые формы даже не успевали прорисоваться.
>


А я помню, как делал какой-то парсер вордовского документа (типа договора купли/продажи большого списка векселей). Так прога работала довольно медленно и на экране ячейка аз ячейкой вырисовывалась таблица уже конвертированная в прогу. В это время у меня на столе лежала бумажная копия "исследуемого" документа. Так вот, 2 дЭвушки минут 5 завороженно смотрели из-за спины, пока не осмелились спросить: "это она у тебя прямо со стола лист читает?!!"



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.03.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.53 MB
Время: 0.01 c
15-1139479036
Kolan
2006-02-09 12:57
2006.03.05
Генератор пустого календаря.


15-1139573538
Ega23
2006-02-10 15:12
2006.03.05
Глюк QA?


9-1126007655
AlexeyM
2005-09-06 15:54
2006.03.05
эмуляция нажатия клавиши клавиатуры


2-1140312344
us es
2006-02-19 04:25
2006.03.05
Юнит ваще без uses - хорошо, или нужно что-то добавить?


9-1126088370
RzCoDer
2005-09-07 14:19
2006.03.05
Мультитекстурирование





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский