- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
今天,我和一位同学,继续想试试这个问题。我们俩都是对VC没学多少,自己都不知道怎么弄得,反正是七撞八闯地头大了一个下午。虽然,问题还没有完全解决,不过还好,也算有了点收获。
我们将上面的独立代码添添改改,搞成下面简单的样子:
――――――――――――――――――――――――――――――――
#include stdio.h
#include process.h
#include string.h
#include stdafx.h
class CZTDlg
{
public:
PROCESS_INFORMATION pi;//记录进程初始状态
DWORD dwExitCode; //退出代码
CString m_strInputFile; //命令流输入文件名
CString m_strOutFile; //结果输出文件名
void OnOK();
void TerminateAnsys();
};
//之后是调用和终止ANSYS的代码:
void CZTDlg::OnOK()
{
// TODO: Add extra validation here
// CDialog::OnOK();
m_strInputFile=F:\\Fluent-VC-ANSYS\\ANSYS-VC\\dd.txt;
m_strOutFile=F:\\Fluent-VC-ANSYS\\ANSYS-VC\\dd.out;
//存储ANSYS路径的变量
CString sCommandLine;
char cCommandLine[MAX_PATH];
STARTUPINFO si={sizeof(si)}; //初始化变量si 设置变量si的字节大小
si.dwFlags=STARTF_USESHOWWINDOW; //设置ANSYS批处理程序以窗口方式运行
si.wShowWindow=SW_SHOWMAXIMIZED; //设置ANSYS批处理程序以最大化方式运行
//获得ANSYS的路径及批处理时所带的参数
sCommandLine=F:\\Fluent-VC-ANSYS\\ansys80.exe -i +m_strInputFile+ -o +m_strOutFile;
::strcpy(cCommandLine, sCommandLine);
//创建ANSYS子进程
BOOL ret = CreateProcess(NULL, cCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, si, pi);
if (ret)
{
//释放程序控制权
return;
}
else //创建子进程出错
{
AfxMessageBox( CreateProcess错误:+GetLastError() );
return;
}
}
void CZTDlg::TerminateAnsys() //程序进程终止
{
//获取子进程的退出码
if(GetExitCodeProcess(pi.hProcess,dwExitCode))
{
//如果子进程还未结束,避免无限循环
if (dwExitCode==STILL_ACTIVE)
{
//终结该进程
if (TerminateProcess(pi.hProcess,dwExitCode)) // 关闭子进程句柄
CloseHandle(pi.hProcess);
}
}
}
void main()
{
CZTDlg s;
s.OnOK();
s.TerminateAnsys();
}
―――――――――――――――――――――――――――――――
编译已经可以通过,没有错误或警告提示,但连接时出现下面的提示:
--------------------Configuration: VC-ANSYS - Win32 Debug--------------------
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debu
原创力文档


文档评论(0)