//下面这段代码的意思是:如果打不开,就调用“打开方式”对话框,
//szPath是全路径,包括路径和文件名
int nRes =(int)ShellExecute(NULL,"open",szPath,NULL,NULL,SW_SHOWNORMAL);
// int nRes = (int)ShellExecute(NULL, "open", strName, "", pszFolder, SW_SHOWDEFAULT);
if(SE_ERR_NOASSOC == nRes)
{
CString strCmd;
strCmd.Format("rundll32 shell32, OpenAs_RunDLL %s", szPath);
WinExec(strCmd, SW_SHOWNORMAL);
}
本文介绍了如何使用ShellExecute函数尝试打开文件,若关联失败,则通过rundll32方法强制打开。提供了具体的代码实现,展示了如何处理文件打开过程中可能出现的SE_ERR_NOASSOC错误。
712

被折叠的 条评论
为什么被折叠?



