我正在与一个用 C 编写的库进行交互,该库需要我将图像作为 Int32 句柄传递。如何在 VB 中将图像文件表示为整数?或者,更具体地说,我如何获得资源的句柄?
问问题
873 次
1 回答
0
您可以使用该Bitmap.GetHbitmap()
函数为您的图像获取一个HBITMAP
(假设您使用的是位图)。完成后,您必须确保使用DeleteObject()
. 例如(这真的来自 MSDN):
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern bool DeleteObject(IntPtr hObject);
...
using ( Bitmap bm = new Bitmap ( 10, 10 ) )
{
IntPtr hBitmap = bm.GetHbitmap ();
// Do something with hBitmap.
DeleteObject ( hBitmap );
}
在 API 级别上,不同类型的图像用不同的句柄表示,因此如果您使用图标,则必须改用Handle
图标的属性。这个句柄不需要被释放,因为它不是一个副本。
于 2013-07-15T13:59:00.430 回答