如果应用程序未正确关闭,则不会发布Excel作为Com Server

时间:2017-08-02 10:43:23

标签: c++ excel com

我在C ++(EXE)中使用Excel自动化来监听Excel事件。 用户打开Excel应用程序后,我可以通过AccessibleObjectFromWindow函数引用_Application指针。 在此之后 - 我能够连接到IID_IConnectionPointContainer并获得各种活动。

我的问题如下:如果我的程序崩溃(或者我停止调试器),我无法正确清理_Application指针,因此即使用户已关闭,Excel.EXE仍在运行该程序。 这是有道理的,因为_Application引用计数仍为1。

但是,如果用户再次打开Excel.EXE - >它启动时没有任何加载项。用户需要手动添加色带。 此行为将继续,直到Excel.EXE被手动终止。

有没有人遇到过这样的问题? 有没有办法在我的应用程序崩溃后清理COM对象指针?

0 个答案:

没有答案