![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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()