我使用的是WINDOWS 7 64位机器.JNI
我在我的C代码中使用ICONINFO。其中存储了图标信息。
使用SetByteArrayRegion()方法,我已将iconinfo信息复制到java的字节数组中。
从这个字节数组我需要得到hbmColor。
ICONINFO的结构如下_ ICONINFO { BOOL fIcon; DWORD xHotspot; DWORD yHotspot; HBITMAP hbmMask; HBITMAP hbmColor; }
虽然我可以在C代码中轻松地从ICONINFO获取hbmcolor。 我如何在java中完成。 如何用c语言在内部计算hbmcolor?
答案 0 :(得分:0)
在64位DLL中,hbmColor
位于偏移量24处,即:第一个字节是结构中的第25个字节。 hbmColor
长度为8个字节。
方法:
size_t offset = offsetof(struct _ICONINFO, hbmColor);
我不知道你想用Java hbmColor
做什么。这是一个Win32 handle
。或许最好遵循millimoose的建议。