2
我有一個用C#和.Net 2.0編寫的簡單應用程序,它在循環中顯示多個PowerPoint 2003文件。 (它將用於我們餐廳的信息板)應用程序在我的開發機器上正常工作,但是當我將它部署到另一臺機器時,我註冊的SlideShowNextSlide和PresentationClose事件從未被解僱。我嘗試用這種方法註冊事件。PowerPoint.Application不會引發C中的事件#
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的還是我失去了一些東西。
我檢查了客戶端機器,並在GAC中註冊了Microsoft.Office.Interop.PowerPoint。 – AdmSteck 2010-03-31 17:21:34
我想我可能已經發現提出一個新問題的問題的一部分。我的應用正在模擬不同的用戶帳戶,因此它可以訪問網絡。如果我的應用程序和PowerPoint未在同一個帳戶下運行,我認爲它無法從PowerPoint接收事件。問題是如何讓PowerPoint在同一個帳戶下運行。 – AdmSteck 2010-04-01 14:12:29