求助,关于异常处理(如果能解决,再给100分!)
我准备用VC写一个穷举 Word口令的程序
一切都准备好了,但遇到了异常处理出了问题
首先建立一个word文件,设置密码“111”
下边是我的代码:
Documents oDocs; //我在此处设置了断点,以便单步跟踪
oDocs = oWordApp.GetDocuments();
LPDISPATCH disp;
try
{
disp=oDocs.Open(COleVariant(m_strWordFile), //文件路径及其文件名
vOpt, // Confirm.
// Conversion.
vOpt, // ReadOnly.
vOpt, // AddToRecentFiles.
COleVariant("123"), // 文档文件密码,用错误密码“123”去打开word文件
// PasswordDocument.
vOpt, // PasswordTemplate.
vOpt, // Revert.
vOpt, // Write-
// PasswordDocument.
vOpt, // Write-
// PasswordTemplate.
vOpt, // Format. //Last parameter for Word 97
vOpt, // Encoding // Word 2000/2002 from here on
vOpt, // Visible
vOpt, // OpenConflictDocument
vOpt, // OpenAndRepair
vOpt, // DocumentDirection
//wdDocumentDirection LeftToRight
vOpt // NoEncodingDialog
);
按F5开始调试,F10,跟踪,跟到open函数时,由于密码错误,进行异常处理
再按f10,跟到了这里
CATCH_ALL(e)
{
lResult = AfxGetThread()->ProcessWndProcException(e, &pThreadState->m_lastSentMsg);
TRACE1("Warning: Uncaught exception in WindowProc (returning %ld).\n",
lResult);
DELETE_EXCEPTION(e);
}
END_CATCH_ALL
此异常处理已经在WINCORE.cpp中了,继续按F10,进入,然后就会跳出“密码错误,Word无法打开文档”的对话框,
我想做的就是不让我自己来处理异常,即输入密码错误,就给我返回一个错误标志,以便于我尝试其它密码。而不是一个错误对话框
我尝试了修改VC的内核代码的办法,可是也未能实现。
我以前用VB写过word穷举程序,可是速度很慢,每秒测试不到100个
所以改用VC,但却遇到了这样的问题,我也曾经想过用VB来做个ActiveX控件,用VC调用。但也没有达到提高速度的目的
目前只有这个办法了
哪位前辈做过类似的处理。指点小弟一点,小弟感激不尽,或者有什么好的建议给我,我也感激不尽。