我有一个用c和.net 2.0编写的简单应用程序,它循环显示几个powerpoint 2003文件。(它将用于我们自助餐厅的信息板)该应用程序在我的开发机器上运行良好,但当我将其部署到另一台机器上时,我为slideshownextslide和presentionclose注册的事件将不会被触发。我试过用这种方法注册事件。
private void InitPPT()
{
app.SlideShowNextSlide += new Microsoft.Office.Interop.PowerPoint.EApplication_SlideShowNextSlideEventHandler(app_SlideShowNextSlide);
app.PresentationClose += new Microsoft.Office.Interop.PowerPoint.EApplication_PresentationCloseEventHandler(app_PresentationClose);
app.SlideShowEnd += new Microsoft.Office.Interop.PowerPoint.EApplication_SlideShowEndEventHandler(app_PresentationClose);
}
用我发现的这种方法
here
:
private void InitPPT()
{
IConnectionPointContainer oConnPointContainer = (IConnectionPointContainer)app;
Guid guid = typeof(Microsoft.Office.Interop.PowerPoint.EApplication).GUID;
oConnPointContainer.FindConnectionPoint(ref guid, out m_oConnectionPoint);
m_oConnectionPoint.Advise(this, out m_Cookie);
}
我需要在客户机上注册一些dll,还是我遗漏了什么。