匿名管道(例子)

 子进程源代码:



void  CProcessChildView::OnMypipeWrite()
{
    
// TODO: Add your command handler code here

    char    buf[] = "Hello, I am child process! I love my baby so much!" ;
    DWORD    dwWrite    
= 0
;

    
if (!WriteFile(m_hWrite, buf, strlen(buf) + 1&
dwWrite, NULL))
    {
        MessageBox(
"child process write failed.."
);
    }
}

void
 CProcessChildView::OnMypipeRead()
{
    
// TODO: Add your command handler code here

    char    buf[100= "

父进程源代码:


void  CProcessParentView::OnPipeCreate()
{
    
// TODO: Add your command handler code here

    SECURITY_ATTRIBUTES    sa;
    sa.bInheritHandle    
=
 TRUE;
    sa.lpSecurityDescriptor 
=
 NULL;
    sa.nLength        
= sizeof
(SECURITY_ATTRIBUTES);

    
if (!CreatePipe(&m_hRead, &m_hWrite, &sa, 0
))
    {
        MessageBox(
"Create anymouse pipe failed!"
);

        
return
;
    }

    STARTUPINFO        sui;
    PROCESS_INFORMATION    pi;

    ZeroMemory(
&sui, sizeof
(STARTUPINFO));
    sui.cb        
= sizeof
(STARTUPINFO);
    sui.dwFlags    
=
 STARTF_USESTDHANDLES;
    sui.hStdInput    
=
 m_hRead;
    sui.hStdOutput    
=
 m_hWrite;
    sui.hStdError    
=
 GetStdHandle(STD_ERROR_HANDLE);

    
if (!CreateProcess("E:/program/ProcessChild/ProcessChild/Debug/ProcessChild.exe", NULL, NULL, NULL, TRUE, 0, NULL, NULL, &sui, &
pi))
    {
        DWORD dw 
=
 GetLastError();
        
char buf[10= "
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值