0

我正在使用 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?

4

1 回答 1

0

在 64 位 DLLhbmColor中,偏移量为 24,即:第一个字节是结构中的第 25 个字节。hbmColor是 8 个字节长。

方法:

size_t offset = offsetof(struct _ICONINFO, hbmColor);

我不知道你想用hbmColor. 这是一个 Win32 handle。也许最好听从millimoose的建议。

于 2013-11-14T18:15:37.900 回答