代码之家  ›  专栏  ›  技术社区  ›  AdmSteck

powerpoint.应用程序未在c中引发事件#

  •  2
  • AdmSteck  · 技术社区  · 15 年前

    我有一个用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,还是我遗漏了什么。

    1 回复  |  直到 15 年前
        1
  •  1
  •   AdmSteck    15 年前

    我认为这是因为我试图从本地用户帐户运行我的应用程序,但模拟了一个域帐户,以便我可以访问网络驱动器。我已经更改了应用程序,因此它只在执行网络操作时模拟域帐户,而不是在应用程序启动时。