关于ShellExecute函数
求助 关于ShellExecute函数
我写了一个简单的mfc程序,想通过一个按钮用指定的程序(netgen)打开指定的文件(.step)
但调试时选定了.step文件后每次都有这个窗口闪一下就消失了,然后什么都没发生,文件也没打开
当我按照平常的方法打开.step文件时却一切正常,请问我该怎么做?(本人刚接触vc++)
------解决方案--------------------
pathname放错位置了
另外没选择文件时,不应该继续执行
------解决方案--------------------
调试下看看获取到的pathName是什么,是不是想要打开的文件
------解决方案--------------------
用cmd窗口检验下就知道了
------解决方案--------------------
你要把你的这个netgen的路径放到环境变量或者注册表里
根据提示说shell启动的时候找不到
我写了一个简单的mfc程序,想通过一个按钮用指定的程序(netgen)打开指定的文件(.step)
void CDialogDlg::OnBnClickedButton1()
{
CString pathname;//保存路径
CFileDialog dlg (TRUE,NULL,NULL,OFN_OVERWRITEPROMPT, _T("所有文件(*.*;)|*.*||"),NULL);
if (dlg.DoModal()==IDOK)
{
pathname=dlg.GetPathName();
}
ShellExecute(NULL,"open","S:\\NETGEN\\Netgen-4.9.13_x64\\bin\\netgen.exe",NULL,pathname,SW_SHOWNORMAL);
}
但调试时选定了.step文件后每次都有这个窗口闪一下就消失了,然后什么都没发生,文件也没打开
当我按照平常的方法打开.step文件时却一切正常,请问我该怎么做?(本人刚接触vc++)
------解决方案--------------------
pathname放错位置了
ShellExecute(NULL,"open","S:\\NETGEN\\Netgen-4.9.13_x64\\bin\\netgen.exe",pathname,NULL,SW_SHOWNORMAL);
另外没选择文件时,不应该继续执行
if (dlg.DoModal()==IDOK)
{
pathname=dlg.GetPathName();
}
else
{
return;
}
------解决方案--------------------
调试下看看获取到的pathName是什么,是不是想要打开的文件
------解决方案--------------------
用cmd窗口检验下就知道了
------解决方案--------------------
你要把你的这个netgen的路径放到环境变量或者注册表里
根据提示说shell启动的时候找不到