windows下写的qt程序,操作excel,正常退出时可以直接调用关闭
workbook->dynamicCall("Close(Boolean)",false);
excelObj->dynamicCall("Quit(void)");
但问题是程序溃崩(这也是敏感词汇,无语)了就调用不到这部分代码,excel进程就一直存在,怎么破?
网上查了下,使用<dbghelp.h>来处理溃崩,我想使用一个静态函数直接调用,可不知道怎么把excel对象传进去.
LONG CreateCrashHandler(){
qDebug() << "程序崩溃";
Excel::dealCrash();
return EXCEPTION_EXECUTE_HANDLER;
}
SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)CreateCrashHandler);
使用extern 修饰定义一个全局变量试试。
程序是因为什么崩溃的?还要处理一下崩溃问题,如果是可以预知的可以用try catch捕获,在这个里面也处理一下关闭Excel