2


0

PowerPoint.ApplicationがC#でイベントを発生させない

いくつかのPowerPoint 2003ファイルをループで表示するC#および.Net 2.0で記述された簡単なアプリケーションがあります。 (カフェテリアの案内板に使用されます)アプリケーションは私の開発マシンで正常に動作しますが、別のマシンにデプロイすると、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);
    }

そして、私が見つけたこの方法でhttp://support.microsoft.com/kb/308825 [こちら]:

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 Answer


1


これは、ローカルユーザーアカウントからアプリケーションを実行しようとしたが、ネットワークドライブにアクセスできるようにドメインアカウントを偽装しようとしたためだと思います。 アプリケーションを変更して、ネットワーク操作の実行中にドメインアカウントのみを偽装し、アプリケーションの起動時ではないようにしました。