我试图获取从剪贴板独立于设备的位图 。 我充分意识到,这可以通过在.NET Framework的Clipboard.GetData功能内置来完成,但因为它是非常错误(如记录在网络上的许多地方),我只想使用的API。
我写了下面的代码工作。
//i can correctly cast this to a MemoryStream
MemoryStream ms = Clipboard.GetData("DeviceIndependentBitmap") as MemoryStream;
但我想用API使用它,这只是返回一个指针(一个IntPtr)点到流莫名其妙。 我接过一看UnmanagedMemoryStream但不知道如何正确转换的IntPtr
成说。
这里是我的API代码(使用GetClipboardData API,其中CF_DIB
格式设置作为其参数)。
IntPtr p = GetClipboardData(8);
//what do I do from here to get a MemoryStream from this pointer?
我有点困惑。 我已经研究过它自己,但不能拿出一些有用的东西。