PowerPoint.Application не вызывает события в C # - PullRequest
2 голосов
/ 31 марта 2010

У меня есть простое приложение, написанное на C # и .Net 2.0, которое отображает несколько файлов PowerPoint 2003 в цикле. (Он будет использоваться для информационной доски в нашей столовой). Приложение отлично работает на моей машине для разработки, но когда я разверну его на другой машине, события, которые я зарегистрировал для SlideShowNextSlide и PresentationClose, никогда не запускаются. Я попытался зарегистрировать события с помощью этого метода.

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);
    }

И с помощью этого метода, который я нашел здесь :

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 Ответ

1 голос
/ 01 апреля 2010

Я думаю, это произошло из-за того, что я пытался запустить свое приложение из локальной учетной записи пользователя, но выдать себя за учетную запись домена, чтобы получить доступ к сетевым дискам. Я изменил свое приложение, чтобы оно имитировало учетную запись домена только при выполнении сетевых операций, а не при запуске приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...