Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SendMessage в Dos приложение [D5, D6, Win95/98, NT4, Win2k]


МишА ©   (2002-05-15 20:42:00) 

Народ подскажите пожалуйста, мне нужно через функцию SendMessage управлять Досовским приложением (т.е. эмулировать нажатие клавиш). В NT/2000 все работает прекрасно, за счет того, что там дос приложения в отличее от W9x работают под виртуальной машиной.

Строчка кода такая:

SendMessage(FindWindow(nil,"Заголовок окна"),WM_KEYDOWN,VK_RETURN,0);


Как это дело заставить работать под 9x?


~Sergius   (2002-05-19 18:03:00) [1]

Да, черт, а проблема интересная. И решаемая, видимо. Ведь вставку текста в досовое окно винда (хоть 3.х) делать умеет.


МишА   (2002-05-16 09:03:00) [2]

2Song: Я тебя уверяю, дескриптор определен правильно!!! Сообщения посланные через СендМессадже я ВИЖУ в очереди сообщений этого окна, т.е. оно (окно) получает их, следственно декриптор определен прально, но самим досовским приложением они не обрабатываются!!!


Song   (2002-05-16 08:25:00) [3]

SendMessage(...,WM_CHAR,VK_Return,0);
если не получается значит неправильно определён дискриптор.


МишА   (2002-05-16 02:40:00) [4]

Ок, как мне эмулировать нажатие клавиш в Дос приложении?


nejest   (2002-05-16 02:31:00) [5]

Такое не возможно в принципе, WinAPI32 по определнию работает только с 32 разрядными Win приложениями, поэтому и получилось под WinNT/2000 т.к. виртуальная машина является 32 битным приложением.


МишА   (2002-05-16 01:41:00) [6]

Ну надо сказать попробовал я и так и так нифига не получается... Точнее сообщения в очередь окна падают, но DOS приложение их не обрабатывает, точно так же как и при использовании обычного Send/PostMessage


Song   (2002-05-15 23:14:00) [7]

В консольное приложение можно послать только через WM_CHAR или использовать PostThreadMessage()


Наверх

Титульная страница Поиск, карта сайта Написать письмо