在线等待中问题,一定给分:CreateProcess的参数STARTUPINFO结构中,HANDLE hStdInput在什么时候用?

DonJikn 2003-12-05 03:05:05
是不是我已经创建了一个进程,然后继续往该进程写数据?
比如我在程序中创建一个mysql进程,而mysql处于mysql> 状态,
那么我就可以往里输入create database ... 等命令?
如果不是,我该怎么解决这种调用?
...全文
178 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
checkyvc6 2004-01-08
  • 打赏
  • 举报
回复
没有问题的啊

PROCESS_INFORMATION pi;
STARTUPINFO si;
memset(&si,0,sizeof(STARTUPINFO)); //别忘乐它哦

TCHAR szCommandLine[]=_TEXT("create database mydb"); //再者里
BOOL fSuccess=::CreateProcess("d:\\WINNT\\REGEDIT.EXE",szCommandLine,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
if(fSuccess)
{
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
}
else
{
DWORD dError;
dError=::GetLastError();
}
DonJikn 2003-12-08
  • 打赏
  • 举报
回复
应该说是:用于一个进程接收另一个进程的输入,是吧。
那是这样以后,我怎么输入呢?
也就是说,我怎么输入“create database mydb;”呢?
(不用mysql c api调用的方法来代替。)
hanyixin 2003-12-05
  • 打赏
  • 举报
回复

就是这样用的,可以把一个进程的输入跟另一个进程的输出连接起来,这样,就可以实现你的要求。

15,473

社区成员

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

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