|
#1
|
|||
|
|||
power point
Здорово всем есть вопросик я открываю презинтацию в PowerPointApplication все норм а как сделать так чтоб после того как все слайды закончились прграмма автоматом закрывалась. Без рукоприкладства)))
|
#2
|
||||
|
||||
Можно отслеживать названия кадров или просматривать сообщения - здесь нужны "стопаря" окончания презы, если найдёте такое то вот это убъёт активную прогу по имени класса или заголовку окна
Код:
KillProgram(ClassName: PChar; WindowTitle: PChar); const PROCESS_TERMINATE = $0001; var ProcessHandle : THandle; ProcessID: Integer; TheWindow : HWND; begin TheWindow := FindWindow(Classname, WindowTitle); GetWindowThreadProcessID(TheWindow, @ProcessID); ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId); TerminateProcess(ProcessHandle,4); end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
rapashocker (15.05.2014)
|
#3
|
||||
|
||||
Самое смешное что через OLE управление презентациями осуществляется просто и легко, без особых заморочек напр.
Код:
uses comobj; procedure TForm1.Button1Click(Sender: TObject); var PowerPointApp: OLEVariant; begin try PowerPointApp := CreateOleObject('PowerPoint.Application'); except ShowMessage('Error...'); Exit; end; // или try PowerPointApp:= GetActiveOleObject('PowerPoint.Application'); except PowerPointApp:= CreateOleObject('PowerPoint.Application'); end; // Make Powerpoint visible PowerPointApp.Visible := True; // Show powerpoint version ShowMessage(Format('Powerpoint version: %s',[PowerPointApp.Version])); // Open a presentation PowerPointApp.Presentations.Open('c:\MyPresentation.ppt', False, False, True); // Show number of slides ShowMessage(Format('%s slides.',[PowerPointApp.ActivePresentation.Slides.Count])); // Run the presentation PowerPointApp.ActivePresentation.SlideShowSettings.Run; // Go to next slide PowerPointApp.ActivePresentation.SlideShowWindow.View.Next; // Go to slide 2 PowerPointApp.ActivePresentation.SlideShowWindow.View.GoToSlide(2); // Go to previous slide PowerPointApp.ActivePresentation.SlideShowWindow.View.Previous; // Go to last slide PowerPointApp.ActivePresentation.SlideShowWindow.View.Last; // Show current slide name ShowMessage(Format('Current slidename: %s',[PowerPointApp.ActivePresentation.SlideShowWindow.View.Slide.Name])); // Close Powerpoint PowerPointApp.Quit; PowerPointApp := UnAssigned; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |