我试图从剪贴板中获取设备无关位图.我很清楚这可以通过.NET Framework中内置的Clipboard.GetData函数来完成,但由于它非常错误(如Web上的许多地方所记录的),我只想使用API.
我写了以下代码,它有效.
//i can correctly cast this to a MemoryStream
MemoryStream ms = Clipboard.GetData("DeviceIndependentBitmap") as MemoryStream;
Run Code Online (Sandbox Code Playgroud)
但我想将它与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?
Run Code Online (Sandbox Code Playgroud)
我有点困惑.我自己已经研究过了,但却找不到有用的东西.