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

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

mrDuke

Подскажите пожалуйста... Есть презентация на которой находится кнопка CommandButton1. По ее нажатию совершается какое либо действие... Вопрос: Как эту кнопку можно нажать программно из Delphi?
 
Получить описатель окна презентации, а затем описатель окна-кнопки. Для этого используется функция WinAPI FindWindow. Потом отправить кнопке сообщение о нажатии
 
Если не сложно можно пример?
 
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 не подходит)
 
у неё видно процедуру Click ?
 
COM серверу PowerPoint глубоко нас... плевать на то, какие кнопки у него в окне. Ты определись что тебе надо: COM или сообщения. И почему PostMessage не подходит?
 
Для: Morpheus

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

PPA.Presentations.Item(1).Slides.Item(1).Shapes.Item(1) - тут процедуру Click не видно
 
наверное и не будет, то я так ляпнул не подумав )))
чем PostMessage не подходит?
 
С PostMessage никак не разберусь что к чему.... На моем слайде 10 кнопок перехода к различным страницам(кол-во на каждой странице варьируется) и две кнопки 'назад' и 'далее'... Как мне можно получить весь список кнопок и как их отличить друг от друга и нажать какую хочу...
 
<!--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 их не видит...
Речь идет про пользовательские кнопки навигации?
 
Кнопка делается на слайде на VBA...
 
Не 100% факт что кнопка будет виндозным окном и ей можно будет послать сообщение...
 
Для: 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]
 
А если кнопку сделать посредством - Автофигуры->Управляющие кнопки... Возможно ее как нибудь нажать из Delphi?
 
<!--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]
Послать ей сообщение не удастся
 
Для: sax_ol
Честно говорю - не умею... Если не сложно приведите пример того как это сделать можно... Пытался что нить сделать - не получилось.
 
Для: sax_ol
По гуглю я искал... ничего не нашлось...
а как применить эту команду для Delphi я никак не разберусь (РРА.Run("button_click", nil); )
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab