VB.NET - 如何使用API​​

时间:2017-02-24 01:03:00

标签: vb.net api winapi resources

我需要从文件中提取图标资源。我有一个结构(Resource),它包含字节数组,大小,查找句柄,加载句柄,锁定句柄(分别来自FindResourceLoadResourceLockResource)。

我知道我需要获取图标的Icon手柄。然后我需要使用GetIconInfo来检索位掩码。然后我使用Image.FromHbitmap(h)来获取图像。然后,我使用图像的尺寸作为CreateIconFromResourceEx的参数来检索尺寸合适的图标。

有没有人有一些代码可以做到这一点?我可以自己声明所有P / Invoke。谢谢!

我的原始代码每次返回32x32。

Dim out As ICONINFO
Dim h As IntPtr = res.hLock
GetIconInfo(h, out)
Dim s As Image = Image.FromHbitmap(out.hbmMask)
h = ResourceExplorer.CreateIconFromResourceEx(res.bArray, res.hSize, True, &H30000, s.Width, s.Height, 0)
PictureBox1.Image = Icon.FromHandle(h).ToBitmap

0 个答案:

没有答案