通过 CreateProcess 启动控制台程序 telnet, telnet 一运行就立即退出了, 为什么 ? 你遇到过吗 ? 急

zxr65 2009-05-31 04:58:05
STARTUPINFO sInfo;
PROCESS_INFORMATION pInfo;

ZeroMemory(&sInfo, sizeof STARTUPINFO);
ZeroMemory(&pInfo, sizeof PROCESS_INFORMATION);

sInfo.cb = sizeof(STARTUPINFO);
sInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
sInfo.wShowWindow = SW_HIDE;

HANDLE hrFile, hwFile;
if(!CreatePipe(&hrFile, &hwFile,
&security, NULL))
{
return;
}

HANDLE hStdO = CreateFile("ttttt",
FILE_APPEND_DATA,
FILE_SHARE_WRITE | FILE_SHARE_READ,
&security,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);

if (INVALID_HANDLE_VALUE == hStdO)
{
return;
}

sInfo.hStdInput = hrFile;
sInfo.hStdOutput = hStdO;
sInfo.hStdError = hStdO;

BOOL bRetVal = CreateProcess("C:\\WINDOWS\\system32\\telnet.exe", "127.0.0.1", NULL, NULL, TRUE,
CREATE_NEW_CONSOLE | CREATE_NO_WINDOW, NULL, NULL, &sInfo, &pInfo);

......

telnet 一启动起来就退出了, 你遇到过吗 ?

...全文
224 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
GustFox 2009-06-01
  • 打赏
  • 举报
回复
ResumeThread(pInfo.hThread);//CreateProcess将程序载入内存后,ResumeThread让他马上执行
jamesking 2009-06-01
  • 打赏
  • 举报
回复
sInfo.hStdInput = hrFile;
你建立了输入管道,但是似乎没有任何输入
zxr65 2009-05-31
  • 打赏
  • 举报
回复
确定可以, 没问题, 我把服务打开了
一笑拔剑 2009-05-31
  • 打赏
  • 举报
回复
telnet 127.0.0.1
你127.0.0.1能telnet么
如果不能
telnet 自动退出的八

15,471

社区成员

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

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