使用 JNA 调用 Gdi32.GetObject
Invoke Gdi32.GetObject with JNA
我已经为 JNA 创建了一个本机库映射以调用 Gdi32 库,"GetObject"。 See: MSDN
我的映射看起来像这样:
int GetObject(HANDLE hgdiobj, int cbBuffer, Pointer lpvObject);
但是这个签名好像不正确。调用引发此异常:
Exception in thread "JavaFX Application Thread" java.lang.UnsatisfiedLinkError: Error looking up function 'GetObject': The specified procedure couldn't be found.
怎么了?
您需要的信息可以在您链接的文档中找到。该文件的底部是这样的:
DLL Gdi32.dll
Unicode and ANSI names GetObjectW (Unicode) and GetObjectA (ANSI)
换句话说,该函数在名为 Gdi32.dll
的 DLL 中找到。并且有两个版本,一个 Unicode 版本和一个 ANSI 版本,具有适当的后缀名。您可能正在尝试绑定到一个名为 GetObject
的函数,该函数不存在。
我已经为 JNA 创建了一个本机库映射以调用 Gdi32 库,"GetObject"。 See: MSDN
我的映射看起来像这样:
int GetObject(HANDLE hgdiobj, int cbBuffer, Pointer lpvObject);
但是这个签名好像不正确。调用引发此异常:
Exception in thread "JavaFX Application Thread" java.lang.UnsatisfiedLinkError: Error looking up function 'GetObject': The specified procedure couldn't be found.
怎么了?
您需要的信息可以在您链接的文档中找到。该文件的底部是这样的:
DLL Gdi32.dll Unicode and ANSI names GetObjectW (Unicode) and GetObjectA (ANSI)
换句话说,该函数在名为 Gdi32.dll
的 DLL 中找到。并且有两个版本,一个 Unicode 版本和一个 ANSI 版本,具有适当的后缀名。您可能正在尝试绑定到一个名为 GetObject
的函数,该函数不存在。