请问 我想实现VC进程方式调用ANSYS
可是一直是错误的
请高手指点一下
谢谢了。void CAaDlg::OnButton1()
{
// TODO: Add your control notification handler code here
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcessInfo;
memset(&StartupInfo,0,sizeof(STARTUPINFO)); //分配内存
StartupInfo.cb=sizeof(STARTUPINFO); // 初始化
StartupInfo.dwFlags=STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow=SW_SHOWMAXIMIZED;
if(!::CreateProcess(NULL,"C:\\Documents and Settings\\Administrator\\桌面\\ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现.txt",
NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo))
{
AfxMessageBox("error!");
GetLastError();
}
}
可是一直是错误的
请高手指点一下
谢谢了。void CAaDlg::OnButton1()
{
// TODO: Add your control notification handler code here
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcessInfo;
memset(&StartupInfo,0,sizeof(STARTUPINFO)); //分配内存
StartupInfo.cb=sizeof(STARTUPINFO); // 初始化
StartupInfo.dwFlags=STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow=SW_SHOWMAXIMIZED;
if(!::CreateProcess(NULL,"C:\\Documents and Settings\\Administrator\\桌面\\ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现.txt",
NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo))
{
AfxMessageBox("error!");
GetLastError();
}
}
{
// TODO: Add your control notification handler code here
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcessInfo;
memset(&StartupInfo,0,sizeof(STARTUPINFO)); //分配内存
StartupInfo.cb=sizeof(STARTUPINFO); // 初始化
StartupInfo.dwFlags=STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow=SW_SHOWMAXIMIZED;
if(!::CreateProcess(NULL,"notepad.exe \"C:\\Documents and Settings\\Administrator\\桌面\\ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现.txt\"",
NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo))
{
AfxMessageBox("error!");
GetLastError();
}
}
这样试试~~
{
// TODO: Add your control notification handler code here
STARTUPINFO StartupInfo = { 0 };
PROCESS_INFORMATION ProcessInfo = { 0 };
TCHAR szCmdLine[MAX_PATH] = _T("notepad.exe C:\\Documents and Settings\\Administrator\\桌面\\ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现.txt");StartupInfo.cb=sizeof(STARTUPINFO); // 初始化
StartupInfo.dwFlags=STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow=SW_SHOWMAXIMIZED; //调用方法一
//第二个参数必须是非常量字符串,否则可能会产生编译错误
if(!::CreateProcess(NULL,szCmdLine, NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo))
{
AfxMessageBox("error!");
GetLastError();
}//调用方法二
HRESULT hr = E_FAIL;
hr = StringCchCopy(szCmdLine, MAX_PATH, _T("C:\\Documents and Settings\\Administrator\\桌面\\ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现.txt");
_ASSERT(S_OK == hr);//第二个参数必须是非常量字符串,否则可能会产生编译错误
if(!::CreateProcess(_T("C:\\windows\\notepad.exe"),szCmdLine, NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo))
{
AfxMessageBox("error!");
GetLastError();
}}
HRESULT hr = E_FAIL;
hr = StringCchCopy(szCmdLine, MAX_PATH, _T(" C:\\Documents and Settings\\Administrator\\桌面\\ANSYS基于VC++6.0的二次开发与相互作用分析在ANSYS中的实现.txt"); //使用第二种调用方法,命令行串前面必须要有一空格,刚才漏写了