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

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

Как послать сообщение модальному окну программы [D7, XP]


Страницы:   1 2

Wood ©   (2006-08-10 08:21:00) 

Ctrl+Break, Pause.
Спасибо.


Ketmar   (2006-08-10 18:24:00) [1]

> [35] Шпиён   (10.08.06 18:20)

ну я так, на всякий случай. а то вдруг очень надо, а не знают... %-)


Шпиён   (2006-08-10 18:20:00) [2]


> Ketmar ©   (10.08.06 18:14) [34]

ну да, Земля не совсем круглая %)))


Ketmar   (2006-08-10 18:14:00) [3]

> [33] Шпиён   (10.08.06 17:53)

есть речь. сделать драйвер для NTVDM. %-)


Шпиён   (2006-08-10 17:53:00) [4]


> Сергей М. ©   (10.08.06 15:51) [32]

Сам спросил, сам и отвечаю....
В принципе можно... если запускать не само dos-приложение, а "cmd /c <дос-приложение>" (если это самое дос-приложение работает со стандартным вводом-выводом, а не напрямую с видеопамятью.. иначе ни о каком перехвате вывода речи нет)

"Нормальные герои всегда идут в обход" (с)
ps 2 года назад я до этого не додумался -)


Сергей М.   (2006-08-10 15:51:00) [5]


> Шпиён   (10.08.06 15:46) [31]


Спроси у ИШ - он в этом вопргосе дока.


Шпиён   (2006-08-10 15:46:00) [6]


> Сергей М. ©   (10.08.06 15:27) [30]
>
> > Шпиён   (10.08.06 15:22) [29]
>
>
> По идее пайпы должны работать для любого рода Win32-приложений

Win32 - да.

Тем не менее с досовским приложением долго мучился...и в конце-концов обошёл (время на мучения закончилось) через keybd_event -(
(найти консольное окно по известному заголовку и классу (ConsoleWindowClass в NT/2000) проблемы не составило)
А вопрос (этак "в фоне") остался - всё же можно ли как-то работать с DOS-приложением (NTVDM) через пайпы... и если можно - то что же я делал не так.... (код "стандартный", с консольным приложением работал "на ура")


Сергей М.   (2006-08-10 15:27:00) [7]


> Шпиён   (10.08.06 15:22) [29]


По идее пайпы должны работать для любогорода Win32-приложений


Шпиён   (2006-08-10 15:22:00) [8]


> Сергей М. ©   (10.08.06 15:19) [28]

Я имел в виду pipes... туплю?


Сергей М.   (2006-08-10 15:19:00) [9]


> Шпиён   (10.08.06 15:06) [27]
>
>


> c DOS-овским приложением "фокус не удался"


И не только с DOS-овским - с любым Win32-консольным, нигде и ни разу в ходе своего выполнения не вызывающим CreateWindow[Ex]


Шпиён   (2006-08-10 15:06:00) [10]


> Сергей М. ©   (10.08.06 12:43) [23]
>
> > Wood   (10.08.06 12:34) [21]
>
>
> Ну раз ты программно стартуешь консоль, то имеешь полный
> контроль за ее вводом/выводом, и незачем при этом заморачиваться
> всякими брейками и паузами.
>
> Все крутится вокруг Pipes.

И года не прошло, как выяснилось, что же именно происходит -)
Согласен.

ps
<offtopic>
Может я что-то не так делал, но c DOS-овским приложением "фокус не удался".... -(
</offtopic>


Wood   (2006-08-10 13:23:00) [11]

хорошо. Спасибо


Сергей М.   (2006-08-10 12:49:00) [12]

Погугли по теме "Delphi перехват консольного ввода-вывода" - море инф-ции и море примеров)


Wood   (2006-08-10 12:46:00) [13]


> Все крутится вокруг Pipes.

уже горячее :)
о чем и вопрос! Не подскажите инфу, как это дело использовать. Кроме того, хотелось бы прочитать по ходу, что оно (конс. окно) там выводит, но только в своем каком-нить программном листе.


Сергей М.   (2006-08-10 12:43:00) [14]


> Wood   (10.08.06 12:34) [21]


Ну раз ты программно стартуешь консоль, то имеешь полный контроль за ее вводом/выводом, и незачем при этом заморачиваться всякими брейками и паузами.

Все крутится вокруг Pipes.


Wood   (2006-08-10 12:41:00) [15]

> Сергей М. ©   (10.08.06 12:32) [18]

CreateProcess, STARTUPINFO->ShowWindow->SW_HIDE мож так... в общих чертах :)


Wood   (2006-08-10 12:34:00) [16]


> Сергей М. ©   (10.08.06 12:32) [18]

CreateProcess


Сергей М.   (2006-08-10 12:32:00) [17]


> Шпиён   (10.08.06 12:31) [17]


Это из другой оперы.


Wood   (2006-08-10 12:32:00) [18]


> Шпиён   (10.08.06 12:31) [17]

возможно....
во всяком случаю возьму и это как вариант.
Но если это окно скрыто SetForegroundWindow не покатит, не хочется его показывать...


Сергей М.   (2006-08-10 12:32:00) [19]


> консольное окно может во время работы быть скрыто


Интересно, как это ленивый и бестолковый юзер умудрится стартовать консольное приложение "ручками", которое при этом будет скрытым ?


Шпиён   (2006-08-10 12:31:00) [20]

хм... FindFindow - SetForegroundWindow - keybd_event (либо SendInput) ?


Страницы:   1 2

Наверх

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