Нажать кнопку из Delphi

  • Автор темы mrDuke
  • Дата начала
M

mrDuke

Подскажите пожалуйста... Есть презентация на которой находится кнопка CommandButton1. По ее нажатию совершается какое либо действие... Вопрос: Как эту кнопку можно нажать программно из Delphi?
 
E

European

Получить описатель окна презентации, а затем описатель окна-кнопки. Для этого используется функция WinAPI FindWindow. Потом отправить кнопке сообщение о нажатии
 
M

morpheus

Для: mrDuke
начинаем учиться
 
M

mrDuke

PPA.Presentations.Open('c:\1.ppt',0,1,1); - открыть документ
PPA.Presentations.Item(1).SlideShowSettings.Run; - запустить показ презентации
PPA.Presentations.Item(1).Slides.Item(1).Shapes.Item(1) - выбрать в 1ой презентации на первом слайде 1ую кнопку...

Возможно ли таким же образом ее нажать? (PostMessage не подходит)
 
E

European

COM серверу PowerPoint глубоко нас... плевать на то, какие кнопки у него в окне. Ты определись что тебе надо: COM или сообщения. И почему PostMessage не подходит?
 
M

mrDuke

Для: Morpheus

Создаю кнопку на презентации, и задаю ей следующее действие:
Private Sub CommandButton1_Click()
ActivePresentation.SlideShowWindow.View.Next
End Sub

PPA.Presentations.Item(1).Slides.Item(1).Shapes.Item(1) - тут процедуру Click не видно
 
M

morpheus

наверное и не будет, то я так ляпнул не подумав )))
чем PostMessage не подходит?
 
M

mrDuke

С PostMessage никак не разберусь что к чему.... На моем слайде 10 кнопок перехода к различным страницам(кол-во на каждой странице варьируется) и две кнопки 'назад' и 'далее'... Как мне можно получить весь список кнопок и как их отличить друг от друга и нажать какую хочу...
 
E

European

<!--QuoteBegin-mrDuke+19:12:2007, 13:01 -->
<span class="vbquote">(mrDuke @ 19:12:2007, 13:01 )</span><!--QuoteEBegin-->На моем слайде 10 кнопок перехода к различным страницам
[snapback]90562" rel="nofollow" target="_blank[/snapback]​
[/quote]
Странно, похоже эти кнопки это не окна, т.к. Spy их не видит...
Речь идет про пользовательские кнопки навигации?
 
B

Barmutik

Не 100% факт что кнопка будет виндозным окном и ей можно будет послать сообщение...
 
E

European

Для: Barmutik
Я тут уже говорил:<!--QuoteBegin-European+19:12:2007, 13:46 -->
<span class="vbquote">(European @ 19:12:2007, 13:46 )</span><!--QuoteEBegin-->Странно, похоже эти кнопки это не окна, т.к. Spy их не видит...
[snapback]90576" rel="nofollow" target="_blank[/snapback]​
[/quote]
 
M

mrDuke

А если кнопку сделать посредством - Автофигуры->Управляющие кнопки... Возможно ее как нибудь нажать из Delphi?
 
E

European

<!--QuoteBegin-mrDuke+24:12:2007, 07:38 -->
<span class="vbquote">(mrDuke @ 24:12:2007, 07:38 )</span><!--QuoteEBegin-->А если кнопку сделать посредством - Автофигуры->Управляющие кнопки... Возможно ее как нибудь нажать из Delphi?
[snapback]91040" rel="nofollow" target="_blank[/snapback]​
[/quote]
Послать ей сообщение не удастся
 
M

mrDuke

Для: sax_ol
Честно говорю - не умею... Если не сложно приведите пример того как это сделать можно... Пытался что нить сделать - не получилось.
 
M

mrDuke

Для: sax_ol
По гуглю я искал... ничего не нашлось...
а как применить эту команду для Delphi я никак не разберусь (РРА.Run("button_click", nil); )
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!