读书人

【请问】为什么有的XP机器不释放Excel

发布时间: 2013-10-12 11:54:04 作者: rapoo

【请教】为什么有的XP机器不释放Excel资源??
我的程序有个Excel读取类,在析构函数里释放资源。
现在发现有一台机器,读取excel后无法释放资源,即Excel进程还在

其他机器都没问题,系统XP,win7都有,都能释放

大家有没有遇到这种情况??
[解决办法]
这个 好空泛 好难说
既然存在excel.exe 那你读取方式应该是通过ole方式吧!
释放资源应该在open后,把内容get_value2()后就应该release了!
即把CApplication创建的excel服务结束掉了!
如果你放在析构函数里面,程序异常结束了!
我个人不确定这个会不会释放掉。仅个人观点。。。
你可以把release方法在读取后就调用
把读取放在try catch中 出异常了 也 release
这样子 你再试试!
[解决办法]

引用:
我的程序有个Excel读取类,在析构函数里释放资源。
现在发现有一台机器,读取excel后无法释放资源,即Excel进程还在

其他机器都没问题,系统XP,win7都有,都能释放

大家有没有遇到这种情况??


我试过,在某个版本的金山毒霸下,我的程序就没问题,但金山毒霸升级后,就有这个问题了。

(我不想黑谁或挺谁,金山毒霸我自己用的就挺好的.别的杀软我估计也会有相同的情况)

最后的解决办法是,程序打开excel之前,先枚举当前所有名为"Excel"进程的PID,打开后,立刻再枚举所有EXCEL进程,多出来的这个就是我打开的.

退出程序或关闭这个EXCEL文件时,把刚才找到的多出来的这个PID杀掉.

读书人网 >VC/MFC

热点推荐