本文整理汇总了C#中COPYDATASTRUCT类的典型用法代码示例。如果您正苦于以下问题:C#COPYDATASTRUCT类的具体用法?C#COPYDATASTRUCT怎么用?C#COPYDATASTRUCT使用的例子?这里精选的类代码示例或许可以为您提供帮助。
示例1:SendMessage
publicstaticvoidSendMessage(IntPtrhWnd,stringmessage)
{
BinaryFormatterb=newBinaryFormatter();
MemoryStreamstream=newMemoryStream();
b.Serialize(stream,message);
stream.Flush();
//Nowmovethedataintoapointersowecansend
//itusingWM_COPYDATA:
//Getthelengthofthedata:
intdataSize=(int)stream.Length;
if(dataSize>0)
{
byte[]data=newbyte[dataSize];
stream.Seek(0,SeekOrigin.Begin);
stream.Read(data,0,dataSize);
IntPtrptrData=Marshal.AllocCoTaskMem(dataSize);
Marshal.Copy(data,0,ptrData,dataSize);
COPYDATASTRUCTcds=newCOPYDATASTRUCT();
cds.cbData=dataSize;
cds.dwData=IntPtr.Zero;
cds.lpData=ptrData;
intres=SendMessage(hWnd,WM_COPYDATA,0,refcds);
//Clearupthedata:
Marshal.FreeCoTaskMem(ptrData);
}
stream.Close();
}
原文链接:
http://www.jxszl.com/biancheng/C/556806.html