Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отправить текст в активное окно
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - Система
FBUS
Подобных тем нашел много в инете, но это либо не то что мне нужно, либо код такой огромный, что писать программу пропадает желание....
Суть вопроса:
Есть мое приложение, в котором есть допустим edit1 и button1.
Мое приложение по нажатию кнопки запускает другое (с параметрами) после чего окно запущенного приложения становиться активным. нужно после комманды winexec послать в вылезшее окно текст из edit1 и нажать Enter в нем же(в чужом). Вся ерунда заключается в том, что вылезшее окно никак не отображается в панели задач.. в диспетчере его тоже не видно, только процесс (process.exe). так что FindWindow не катит...
короче нужен метод который тупо эмулирует нажатие независимо от того, какое окно открыто.
sax_ol
Цитата(FBUS @ 12:03:2008 - 15:33) *
winexec

Фууууу.
CreateProcess ! smile.gif
European
Цитата(sax_ol @ 12:03:2008 - 15:43) *
Фууууу.
CreateProcess !

Вот-вот... winexec оставлен только в целях совместимости. Если использовать CreateProcess, то
Цитата(FBUS @ 12:03:2008 - 15:33) *
так что FindWindow не катит...

все покатит
FBUS
sax_ol
а по теме можно?

ну если окно не появляется в диспетчере, то как?

с помощью WinExec нормально запускается приложение! нафига мне другой оператор?
Мне нужно лишь вставить в активное акно текст и тыкнуть enter И ВСЕ!!!
sax_ol
Цитата(FBUS @ 12:03:2008 - 15:59) *
с помощью WinExec нормально запускается приложение! нафига мне другой оператор?

Вы уж определитесь в том что вам нужно.
Если надо решить задачу - направление вам дали.
Да, и про какого "оператора" речь?
European
Цитата(FBUS @ 12:03:2008 - 15:59) *
нафига мне другой оператор?

Чтобы нормально отправить окну сообщение об изменении текста

Как говорится, вам шашечки или ехать?
FBUS
Ребят, вы невменяемые чтоли?

sax_ol
Цитата
Вы уж определитесь в том что вам нужно.
Если надо решить задачу - направление вам дали.
Да, и про какого "оператора" речь?

речь о двух операторах Winexec и CreateProcess.. этот пост можно посмотреть если справа на скроллбар навести мышь и немного вврех поднять )))

European

Цитата
Чтобы нормально отправить окну сообщение об изменении текста

Как говорится, вам шашечки или ехать?


А по-человечески? если ты уж начал объяснять, так объясни до конца пожалуйста... напиши мне в чем отличие того запускаю я WinExec'ом или CreateProcess'ом и как мне это поможет в достижении конечной цели
спасибо!
sax_ol
Цитата(FBUS @ 12:03:2008 - 16:42) *
речь о двух операторах Winexec и CreateProcess..

К сведению: это НЕ операторы, ку?
Это можно посмотреть, если в коде набрать CreateProcess а потом на нем - F1, это типа контекстная справка, она часто с Delphi (типа IDE такое) поставляется. Да и вообще можно узнать много интересного.
Как изучие, так сразу сюда, поговорим об невминяемости да и ваще за жизнь, ок?
European
Цитата(FBUS @ 12:03:2008 - 16:42) *
Ребят, вы невменяемые чтоли?

Еще одно такое выражение и будешь забанен
Цитата(FBUS @ 12:03:2008 - 16:42) *
речь о двух операторах Winexec и CreateProcess..

Это системные вызовы, если на то пошло
Цитата(FBUS @ 12:03:2008 - 16:42) *
если ты уж начал объяснять, так объясни до конца пожалуйста...

WinExec устаревшая функция, которую использовать не рекомендуется. Вместо нее нужно использовать CreateProcess. Отличия данных функций изложены в MSDN. Хочешь использовать WinExec - используй, тебе никто этого не запретит. Следование рекомендациям дело добровольное.

Джеффри РИХТЕР. Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows. Глава 2:
Цитата
Некоторые функции Windows API (например, WinExec или OpenFile) существуют только для совместимости с 16-разрядными программами, и их надо избегать. Лучше заменить все вызовы WinExec и OpenFile вызовами CreateProcess и CreateFile соответственно. Тем более, что старые функции просто обращаются к новым. Самая серьезная проблема с ними в том, что они не принимают строки в Unicode, при их вызове Вы должны передавать строки в ANSI. С другой стороны, в Windows 2000 у всех новых или пока не устаревших функций обязательно есть как ANSI-, так и Unicode-версия.


Цитата(FBUS @ 12:03:2008 - 15:33) *
Вся ерунда заключается в том, что вылезшее окно никак не отображается в панели задач..

Какой флаг ты передаешь в опциях отображения в WinExec?
FBUS
Ребят, вы конечно извините, но походу вы нифига не догнали....
Давайте я просто перефразирую вопрос:
Существует ли оператор (функция, процедура) в Delphi ТУПО ДЛЯ ЭМУЛЯЦИИ КНОПОК КЛАВЫ. неважно передавать их какому-то окну или нет....
European
FBUS, ты сам то понял что написал? Вопрос еще кто нифига не догнал...
Morpheus
Цитата(FBUS @ 12:03:2008 - 17:22) *
ТУПО

в програмированиии не проходит

Цитата(FBUS @ 12:03:2008 - 17:22) *
ДЛЯ ЭМУЛЯЦИИ КНОПОК КЛАВЫ

сначала разберись что есть НАЖАТИЕ кнопок на клавиатуре как таковое и тогда проблема отпадёт
sax_ol
Цитата(FBUS @ 12:03:2008 - 17:22) *
Существует ли оператор (функция, процедура) в Delphi ТУПО ДЛЯ ЭМУЛЯЦИИ КНОПОК КЛАВЫ.

Есть то есть, но не поможет. smile.gif
FBUS
Извините, конечно, мужики, но форум - гавно и ответчики такие же (по крайней мере которые тут отписывались)
Юмористы мля....
European
Тема закрыта
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.