0

我正在与一个用 C 编写的库进行交互,该库需要我将图像作为 Int32 句柄传递。如何在 VB 中将图像文件表示为整数?或者,更具体地说,我如何获得资源的句柄?

4

1 回答 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 回答