to jame:<br><br>var<br> buffer: string;<br> dt: TCopyDataStruct;<br>begin<br> SetLength(Buffer, SizeOf(Integer) * 2 + StrLen(YourStruct.pFilePtr) + 1);<br> // 你的结构中数据的实际长度<br> Move(YourStruct.a, Buffer[1], SizeOf(Integer)*2); // 复制你的结构中的a和b到bufffer中<br> Move(YourStruct.pFilePtr^, Buffer[SizeOf(Integer)*2 + 1], StrLen(YourStruct.pFilePtr) + 1); // 复制你结构中的pFilePtr(包括结尾字符#0)到buffer中<br> with dt do<br> begin<br> dwData := 0;<br> dbData := Length(Buffer);<br> lpData := PChar(Buffer);<br> end;<br> SendMessage(OtherHandle, WM_COPYDATA, Form.Handle, Integer(@dt));<br>end;<br><br>ok?<br><br>BTW: jame下次能给分吗?