一个管道的应用例子

原创 2004年09月22日 10:05:00
#define EXECDOSCMD "ping www.sohu.com" //可以换成你的命令
BOOL ExecDosCmd()
{
 SECURITY_ATTRIBUTES sa;
 HANDLE hRead,hWrite;
  
 sa.nLength = sizeof(SECURITY_ATTRIBUTES);
 sa.lpSecurityDescriptor = NULL;
 sa.bInheritHandle = TRUE;
 if (!CreatePipe(&hRead,&hWrite,&sa,0))
 {
  return FALSE;
 }
 
 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;
         //关键步骤,CreateProcess函数参数意义请查阅MSDN
 if (!CreateProcess(NULL, EXECDOSCMD
  ,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi))
 {  
  return FALSE;
 }
 CloseHandle(hWrite);
 
 char buffer[4096] = {0};
 DWORD bytesRead;
 ofstream ofst;
 ofst.open("cmd.txt");
 while (true)
 {
  if (ReadFile(hRead,buffer,4095,&bytesRead,NULL) == NULL)
   break;
  //buffer中就是执行的结果,可以保存到文本,也可以直接输出
        //printf(buffer);
  ofst<<buffer;
  Sleep(200);
 }  
 ofst.close();
    return TRUE;
}

linux进程间通信-----管道总结实例

linux进程间通信-----管道总结实例
  • Linux_ever
  • Linux_ever
  • 2015年12月20日 22:20
  • 1531

linux中有名管道的使用

有名管道又称为FIFO,是进程间通信的一种方式。FIFO具有以下特点:           1.全双工的通信模式,数据先进先出;           2.可以用于任意的进程之间,通过指定相同的管道...
  • best_fiends_zxh
  • best_fiends_zxh
  • 2016年10月25日 16:25
  • 1744

进程间通信 —— 命名管道(实例)

1、最简单的例子:
  • chenchong_219
  • chenchong_219
  • 2014年06月22日 11:01
  • 2992

Java管道流的作用及应用

package io; /*作用 * 管道流的主要作用就是可以进行两个线程间的通信。一个线程作为管道输出流,另一个线程作为管道输入流, * 在启动线程前,只需要将这两个线程的管道流连接到一起就可...
  • shallynever
  • shallynever
  • 2016年03月01日 10:00
  • 2239

例子---window平台下的管道使用

1.匿名管道 (主要用于父子进程的通信) 父进程 #include #include using namespace std; int main(int argc, char *argv...
  • houkai6
  • houkai6
  • 2013年02月26日 12:02
  • 3034

一个比较好的命名管道例子

下面这个例子使用FIFO进行进程间的通信,程序lucy.c创建了FIFO write_fifo用于向程序peter.c发送消息;peter.c程序创建了FIFO read_fifo用于向lucy....
  • ljxkey
  • ljxkey
  • 2013年03月30日 20:48
  • 523

一个LINUX下管道通信的例子

client端------现在有问题........... #include #include #include #include #include #include #includ...
  • buaa_shang
  • buaa_shang
  • 2013年08月30日 18:38
  • 1489

Linux创建管道

管道是两个进程的连接器,单向,
  • a158337
  • a158337
  • 2014年08月26日 19:03
  • 1062

Linux Shell 管道命令(pipe)的使用

Linux Shell 管道命令(pipe)的使用   Shell管道命令是Linux系统下常被提及的一些内容,接下来我们就来看一下:Shell管道命令。    首先我们要清楚:管道命令操作符是:...
  • u014536527
  • u014536527
  • 2016年03月30日 01:52
  • 2623

管道通信总结以及实现代码

1、管道通信的特点: (1)管道是半双工的,先进先出的,它把一个进程的输出和另一个进程的输入连接在一起 (2)一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据   2、...
  • bv1315008634
  • bv1315008634
  • 2016年10月24日 23:23
  • 872
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个管道的应用例子
举报原因:
原因补充:

(最多只允许输入30个字)