用过了。
具体内容是这样的:
先用CreateFileMapping这个函数建立一个内存文件,然后用MapViewOfFile
来获得对这个内存文件操作的句柄,接着就可以开始干了。
比方说:
您的BC程序里头是:
hMapfile = CreateFileMapping( $ffffffff, NULL, Page_ReadWrite, 0, 255, "StringFile" );
if ( hMapfile != 0 ) MapFilePointer = MapViewOfFile( hMapFile, File_Map_All_Access, 0, 0, 0 );
然后用 StrCopy之类的函数把字符串考到该内存文件里头就可以用别的程序进行读写了。
在Delphi程序里头,用
hMapfile := CreateFileMapping( $ffffffff, nil, Page_ReadWrite, 0, 255, 'StringFile' );
if ( hMapfile != 0 ) MapFilePointer := MapViewOfFile( hMapFile, File_Map_All_Access, 0, 0, 0 )
else
showmessage( 'hmapfile=0' );
if mapfilepointer = nil then
showmessage( 'mapfilePointer = nil' );
获得对该内存文件的存取权限,
用 StrCopy( PChar( mapfilepoiner ), PChar( yourselfstring ) );
写,
用 StrCopy( PChar( yourselfstring ) , PChar(ss ) );
yourselfstring := ss;
读,那本书上的例子很好,我手头没有C++,以上所有C源码全是翻译过来的。
用Delphi作的例子能用。参数什么的大可不用改,都用它的例子里头的就行了。