博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
管道 通过匿名管道在进程间双向通信
阅读量:6991 次
发布时间:2019-06-27

本文共 1474 字,大约阅读时间需要 4 分钟。

参考网址:

我的测试代码:

Pipe_Server_VC6_Console.exe :

1 #include 
2 3 #include
4 using namespace std; 5 6 int main() 7 { 8 //定义四个句炳保留两个管道的信息 9 HANDLE hReadPipe1, hWritePipe1, hReadPipe2, hWritePipe2;10 SECURITY_ATTRIBUTES sat;11 STARTUPINFO startupinfo;12 PROCESS_INFORMATION pinfo;13 BYTE buffer[1024];14 DWORD byteRead, byteWrite;15 16 string rString;17 string m_Host= "Pipe_Client_VC6_Console.exe";18 19 sat.nLength=sizeof(SECURITY_ATTRIBUTES);20 sat.bInheritHandle=true;21 sat.lpSecurityDescriptor=NULL;22 23 //创建管道,它用来做子进程的输出24 if(!CreatePipe(&hReadPipe1, &hWritePipe1, &sat, NULL))25 {26 cout<<("Create Pipe Error!")<

 

Pipe_Client_VC6_Console.exe :

1 #include 
2 3 #include
4 using namespace std; 5 6 int main(int argc, char* argv[]) 7 { 8 HANDLE hRead = GetStdHandle(STD_INPUT_HANDLE); 9 HANDLE hWrite = GetStdHandle(STD_OUTPUT_HANDLE);10 11 char s[] = "Hello, I am child process\n";12 DWORD dwWrite;13 14 if (!WriteFile(hWrite, s, strlen(s) + 1, &dwWrite, NULL))15 {16 cout << "Write to pipe failed!" << endl;17 return -1;18 }19 20 char buf[100];21 DWORD dwRead;22 if(!ReadFile(hRead, buf, 100, &dwRead, NULL))23 {24 cout << "Read from pipe failed!" << endl;25 return -1;26 }27 28 return 0;29 }

 

 

 

C

 

转载于:https://www.cnblogs.com/CodeSkill/p/4951888.html

你可能感兴趣的文章
linux下的apue.3e安装[Unix环境高级编程]
查看>>
How do I do a bulk insert in MySQL using Node.js
查看>>
Linux系统下实现SVN + Apache + SSL服务器框架的架设
查看>>
Oracle 11g数据库详细安装步骤图解
查看>>
机器学习之特征选择---特征选择算法
查看>>
嵌入式开发之hisilicon---hi3536 处理器简介
查看>>
目标跟踪之模板匹配---简单的模板匹配
查看>>
css美化网页元素
查看>>
histogram
查看>>
51单片机点亮双向流水灯
查看>>
字符串前面+r
查看>>
C#网络编程(基本概念和操作) - Part.1
查看>>
SQLite的sqlite3_column_blob函数
查看>>
CLR的执行模型(3):加载
查看>>
网站伪静态的好处与坏处
查看>>
IOS的三种CallBack
查看>>
VC++编程中常用的字符串转换函数
查看>>
.NET与Java互通AES算法加密解密
查看>>
C++ 结构体初始化
查看>>
POJ 1416
查看>>