本帖最后由 rookyt 于 2013-12-29 14:12:41 编辑

解决方案 »

  1.   

    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;
    }
      

  2.   

    调试下看看获取到的pathName是什么,是不是想要打开的文件
      

  3.   

    我把netgen.exe换成了WINWORD.EXE就能打开.doc文件了
    是不是我的netgen有问题?
      

  4.   

    pathname倒是没问题word也能打开.step文件
      

  5.   

    正常启动的netgen应该是这样的
      

  6.   

    你要把你的这个netgen的路径放到环境变量或者注册表里
    根据提示说shell启动的时候找不到
      

  7.   

    能不能用shellexcute函数实现这种功能?
      

  8.   

    上面的图片错了,应该是这个另外我直接双击.step文件也不能打开,只能先打开netgen主程序再导入.step文件
      

  9.   

    问题解决了,要把代码改成这样,默认路径没有设置好
    ShellExecute(NULL,"open","C:\\c4w\\programs\\Netgen\\bin\\netgen.exe",pathname,"C:\\c4w\\programs\\Netgen\\bin",SW_SHOWNORMAL);
    谢谢各位帮忙