懂vc++的请进

有两个独立的vc++程序,其中有一个输出数值的现在想把这些数值调入到另一的vc++的程序中要怎么弄不好意思帮下说的太简单了不懂可以加我qq么286979572感激不尽... 有两个独立的vc++程序,其中有一个输出数值的 现在想把这些数值调入到另一的vc++的程序中 要怎么弄
不好意思 帮下 说的太简单了不懂 可以加我qq么286979572感激不尽
展开
 我来答
tfrist
2007-04-27 · TA获得超过2416个赞
知道小有建树答主
回答量:467
采纳率:50%
帮助的人:161万
展开全部
这需要创建命名的共享内存,思路如下:
其中一个程序在内存中创建创建一块命名的共享内存,然后创建者可以向这块内存中写入数据,而另一个程序可以用那个名字打开这块共享内存,读取里面的数据。

我曾经写过的代码如下:

//////////////////
//以下的代码在两个或多个程序中都要有,只不过最终的操作处的代码是不同的。
///////////////////
char chrName[] = {"tempname"}; //共享内存的名字 任意起
DWORD size = 200;
HANDLE hMap;
hMap = OpenFileMapping(FILE_MAP_ALL_ACCESS, TRUE, chrName); //试图打开名字叫"tempname"的共享区,
if(!hMap)
{ //如果打开失败 那么创建这个名字的共享区 在我记忆中空间大小必须是4的倍数 所以后面*4 万无一失阿
hMap = CreateFileMapping(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, size*4, chrName);
}

LPBYTE lpData = NULL; //本地的一个地址 用于获得可用的共享空间的首地址
if(hMap != NULL)
{
lpData = (LPBYTE)MapViewOfFile(hMap, FILE_MAP_ALL_ACCESS, 0, 0, 0); //将共享区的句柄影射成本地的一个地址
}
if(NULL != lpData)
{
//这里是你的代码 可以做读写操作.......
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式