![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как нажать кнопку в чужом Ворде?
TStas © (2013-03-30 15:36:00)Есть Ворд, запущенный из интернета пргой. Найти его через FindWindow не получается, на заголовке у него такая дребедень, что все время Handle 0 получается. Как-то через KeyBordEvent это делается.
Вот в JScript есть возможность посылать клавиши активному окну. Вот бы что-то подобное.
Лучше даже не кнопку печати нажать, а Ctrl+P ему отправить, а потом в появившемся окне еще досылать клавиши. Просто это во всех Вордах работает, в. т. в последних.
KilkennyCat (2013-04-02 02:13:00) [1]
> список процессов
тоже излишне. хотя, небезынтересно. но я бы напрямую в память, че уж мелочиться. и подменить ядро у виндов, рулить так рулить.
KilkennyCat (2013-04-02 02:10:00) [2]Сформулируй проблему нормальным, человеческим языком. При формулировке убедись, что каждое слово соответствует истине. Вероятность решения проблемы к моменту нажатия здесь на кнопку "Добавить" - 99%.
WordApplication .Connect .ConnectTo
createoleobject в данном случае совершенно излишне.
TStas (2013-04-01 22:25:00) [3]>createoleobject('word.application') //Нет! Его без меня браузер создал, а не я сам создаю. Я нашел решение через отправку клавиш. Он сам становится на первый план.
Handla-то на него у меня нет. НО книжка есть, дажя я что-то по ней писал. Там список процессов получаешь и, вроде, есть название документа, который открыт. Если к нему приделать гордое имя ворда и черточку, то заголовок получится, а по нему получил Handle, ну и слать ему всякие сообщения.
turbouser (2013-04-01 00:51:00) [4]createoleobject('word.application')
и делай что хочешь
TStas (2013-03-31 22:00:00) [5]Я нашел как, когда он на первом плане, а оно так и есть, через KeyboardEvent слать ему сообщения. Получилось не только распечатать, но и задавать число экземпляров и закрывать после это по вкусу. При этом приходится все делать из потока, т. к. брузер открыт модально.