看流星社区

 找回密码
 注册账号
查看: 2224|回复: 0

进程间共享数据

[复制链接]

该用户从未签到

发表于 2017-6-2 13:28:12 | 显示全部楼层 |阅读模式
进程间共享数据的代码:


int main(int argc, char *argv[])
{
        //RecursiveDelete("C:\\20_128\\");
        //SelfRun("runModel");
        //进程间内存共享
        LPCTSTR lpName= "hello";
        LPCTSTR lpContent = "123456";
        HANDLE hMap = ::OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, lpName);
        if (NULL == hMap) //打开失败
        {
                //创建
                hMap = ::CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_EXECUTE_READWRITE, 0, strlen(lpContent), lpName);
                if (hMap == NULL)
                {
                        return -1;
                }
                //写入
                LPVOID lpBase = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
                strcpy((char*)lpBase, lpContent);
                printf("write %s\n", lpContent);
        }
        else
        {
                //打开成功就只读取
                LPVOID lpBase = ::MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0);
                if (lpBase == NULL)
                {
                        return -1;
                }
                printf("read %s\n",(char*)lpBase);
        }
       
        getchar();
        return 0;
}
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-19 14:04

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表