|  | 
 
 | 
|  | 
| 
			 
			#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; |