高分请教关于输出重定向问题

Mary24 2004-05-09 11:39:19
哪位高手帮我看一下,程序一运行,出现NTVDM遇到系统错误,句柄无效,多谢!!
SECURITY_ATTRIBUTES sa;
HANDLE hRead,hWrite;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.lpSecurityDescriptor=NULL;
sa.bInheritHandle =TRUE;
if (!CreatePipe(&hRead,&hWrite,&sa,0)) {
MessageBox("Error On CreatePipe()");
return;
}
STARTUPINFO si;
PROCESS_INFORMATION pi;
si.cb = sizeof(STARTUPINFO);
GetStartupInfo(&si);
si.hStdError = hWrite;
si.hStdOutput = hWrite;
si.wShowWindow = SW_HIDE;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
if (!CreateProcess(NULL,"ASM21.EXE g2beta2.dsp -2181" ,NULL,NULL,TRUE,NULL,NULL,&si,&pi)) {
MessageBox("Error on CreateProcess()");
return;
}
CloseHandle(hWrite);
CreateProcess函数第二个参数填得是否正确。
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mary24 2004-05-13
  • 打赏
  • 举报
回复
那应该怎么设置句柄,高手帮我修改一下好吗,输出重定向的原理是什么,能留下联系方式吗?多谢!!!
tabris17 2004-05-10
  • 打赏
  • 举报
回复
win2000下,想得到16位DOS程序的输出,必需通过ntvdm.exe程序,16位DOS程序的执行结果是由ntvdm.exe输出的
请设置ntvdm.exe的输出句柄
tabris17 2004-05-10
  • 打赏
  • 举报
回复
只能说楼主不明白“输出重定向”的原理

看情况,ASM21.EXE是一个16位DOS程序,DOS程序怎么会有输出句柄呢!!!!
xenke 2004-05-09
  • 打赏
  • 举报
回复
如果你在开始/运行里输入那个参数能运行说明正确,否则需完整路径
Mary24 2004-05-09
  • 打赏
  • 举报
回复
怎么没人会啊?

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧