Конференция "WinAPI" » Управление другим приложением
 
  • polezhayev (19.08.08 14:15) [0]
    Есть сторонее приложение (не важно на чем написано). Каким образом я могу им управлять, нажимать кнопки, записать чего-нибудь в edit, сделать форму других размеров, visible для формы или для объектов на форме.???? спасибо.
  • Сергей М. © (19.08.08 14:16) [1]

    > не важно на чем написано


    Еще как важно
  • polezhayev (19.08.08 14:24) [2]

    > Еще как важно


    ну, предположим, что на сях. какой порядок? есть какие-то общие правила работы с чужим приложением? если это конечно, не ворд. где можно через оле.
  • Medbe}I{onok XML © (19.08.08 14:36) [3]
    Каким образом я могу им управлять, нажимать кнопки, записать чего-нибудь в edit, сделать форму других размеров, visible для формы или для объектов на форме.???? спасибо.

    Устройством ввода типа "клавиатура" и манипулятором типа "мышь"
  • polezhayev (19.08.08 14:42) [4]

    > Устройством ввода типа "клавиатура" и манипулятором типа
    > "мышь"

    спасибо за зарказм. подожду более подходящего совета. :-)
  • Renegat © (19.08.08 14:47) [5]
    > [0] polezhayev   (19.08.08 14:15)

    Всё это можно сделать посылкой окну (или его дочерним окнам - кнопкам, едитам и прочая) сообщений. Скажем, послав кнопке сообщение BM_CLICK, мы затсавляем её "нажаться". Разве что с текстом в едит могут возникнуть проблемы, т.к. у процесса-жертвы одно адресное пространство, а у вашего - другое, с ним никак не связанное. Самое простое решение - разбить строку на символы и слать WM_CHAR. Более сложный способ - это DLL-инжект.
  • Сергей М. © (19.08.08 14:52) [6]

    > спасибо за зарказм


    Это не сарказм, а прямой намек на то что в общем случае задача решаема только эмуляцией событий устройств польз.ввода.
  • polezhayev (19.08.08 15:10) [7]

    > Это не сарказм, а прямой намек на то что в общем случае
    > задача решаема только эмуляцией событий устройств польз.
    > ввода.


    http://www.xakep.ru/post/26796/default.asp - вот здесь очень интересная инфа, в потведждение слов Renegat, про dll inject. Так что сделать можно все....
    Хотя, если Вы предложите кусочек программы для решения данной проблемы, или хотя бы ссылку на соответствующий ресурс, я буду даже вполне удовлетворен.
  • clickmaker © (19.08.08 15:12) [8]
    > Разве что с текстом в едит могут возникнуть проблемы

    WM_SETTEXT
  • Renegat © (19.08.08 15:14) [9]
    > [8] clickmaker ©   (19.08.08 15:12)

    Уй ёмоё, и правда от АП не зависит. Извиняюсь, натупил))
  • DVM © (19.08.08 15:17) [10]

    > Всё это можно сделать посылкой окну (или его дочерним окнам
    > - кнопкам, едитам и прочая) сообщений.

    Если интерфейс содержит дочерние окна вообще. А он может и не иметь окон, но иметь нарисоанные элементы управления. Приложение может быть написано на всяких Java, qt, Flash и т.д.
  • Renegat © (19.08.08 15:18) [11]
    > [10] DVM ©   (19.08.08 15:17)

    Ну так сказано же: в общем случае задача нерешаема.
    Просто телепатор мне говорит, что врядли у топикстартера некий специфический случай.
  • brother © (20.08.08 04:47) [12]
    > Java, qt, Flash и т.д.

    не это уже перебор...
    Для начала исследуй программу на наличие Tbutton Tedit итд итп, далее надо отсылать sendmessage им... Просто? Неееее, еще наплачешься)
  • DVM © (20.08.08 10:50) [13]

    > brother ©   (20.08.08 04:47) [12]


    > не это уже перебор...

    Перебор не пребор, а приложений таких вагон и маленькая тележка. Например браузер Опера (кстати тут периодически порываются им управлять). Не знаю на чем построен ее интерфейс, но с поиском оконных элементов управления там все проблематично.
 
Конференция "WinAPI" » Управление другим приложением
Есть новые Нет новых   [134435   +33][b:0][p:0]