我这有个相似的例子,不知道对你是否有帮助,本人借鉴了他人的方法,就在在一个程序里向另一个程序发送参数,程序如下:<br>首先要声明:<br>hMapFile: THandle;<br>MapFilePointer: Pointer;<br>在什么地方(每个程序里)调用都要声明,可以不是全局参;<br><br>hMapFile := CreateFileMapping ($FFFFFFFF, nil, page_ReadWrite, 0,10000,'ctaxp'); // 文件名<br> if hMapFile <> 0 then MapFilePointer := MapViewOfFile(hMapFile,File_Map_All_Access,0, 0, 0);<br> StrCopy (PChar (MapFilePointer),PChar ({我在这里用的是一个全局变量,存放操作员的权限}));//写入内存<br> self.Close;<br> Application.Terminate;<br> winexec(pchar('{我的另一个程序}'),SW_ShowNormal);<br><br> 以上代码我是用在一个按扭onclick事件中的,你可以把它做成一个过程,具体的你自己做,呵呵。<br><br>下面的代码是在我运行的另一个程序里的(调用时的代码)。<br>首先要声明一个变量用来存放读取的参数,<br>//以下代码我放在FormCreate里面。你也可以不用下面的ss 局变,而用一个其它的全局参来代替。一样也要先声明hMapFile: THandle; MapFilePointer: Pointer;,我是放在private里的<br><br>var ss:string;<br>begin<br> hMapFile := CreateFileMapping ($FFFFFFFF, nil, page_ReadWrite, 0,10000,'ctaxp'); // 文件名,其中ctaxp就是一个代号,和上面的要一样<br> if hMapFile <> 0 then MapFilePointer := MapViewOfFile(hMapFile,File_Map_All_Access,0, 0, 0);<br>ss:=PChar(MapFilePointer);<br>.......此处代码略<br>end;