shell open出现的问题
ingor 2008-08-01 08:18:08 在MFC下,建立一个普通的程序,为了支持shell open,在MyApp::IninInstcance中加入了
EnableShellOpen();
RegisterShellFileTypes();
一切运行正常,不过当在IninInstance中加入AfxMessageBox();时,doule-click(shell open)该类型文件的程序就会出现一个小问题:
弹出一个对话框:
Windows找不到文件:“”。请确定文件名是否正确后,再试一次。要搜索文件,请单击开始按钮,然后单击搜索。
经过验证,是因为AfxMessageBOX()中会等待在内部的函数 GetMessage()处,后来,我将AFxMessageBox()替换成了一个
CMyDialog dlg; dlg.Domodule()同样会出现问题; 替换成一个具有 GetMessage()的线程也会有类似问题。
我尝试获取shellopen时会收到什么消息(备注:不是WM_DDE_EXECUTE,因为应用程序还没有起来,不是在已有应用程序的情况下双击另一个该类型的文件),可就是得不到。
描述得有点啰嗦,不过请大家帮忙分析一下。
Thanks