gpt4 book ai didi

java - 找不到指定的程序 (MapVirtualKeyEx) JNA (Java)

转载 作者:可可西里 更新时间:2023-11-01 12:04:44 25 4
gpt4 key购买 nike

我正在使用 JNA,需要使用 MapVirtualKeyEx 函数。

这是签名:

UINT WINAPI MapVirtualKeyEx(

__in UINT uCode,
__in UINT uMapType,
__inout_opt HKL dwhkl
);

有关签名的更多信息可在此处找到:http://msdn.microsoft.com/en-us/library/ms646307(v=vs.85).aspx

我试过这个:

int MapVirtualKeyEx (int uCode, int nMapType, int dwhkl);

但它不匹配。我感觉是 _inout_opt 导致了问题。

我得到的错误是:找不到指定的过程。

        static interface User32 extends Library {
public static User32 INSTANCE = (User32) Native.loadLibrary("User32",
User32.class);

int MapVirtualKeyEx (int uCode, int nMapType, int dwhkl);
}


private static void test(int keyCode)
{

int code = User32.INSTANCE.MapVirtualKeyEx(key, MAPVK_VK_TO_VSC,
134809609); //The number is the keyboard ID, it's temporary.

}

我还有另一个问题:是否有某种自动转换 API 签名的方法,以便它可以在 JNI/JNA 中使用?

最佳答案

由于 MapVirtualKeyEx() 处理字符,所以它有一个 ANSI 和 WIDE 版本。因此,该函数是 MapVirtualKeyExA()/MapVirtualKeyExW(),具体取决于您要使用的函数。

关于java - 找不到指定的程序 (MapVirtualKeyEx) JNA (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6233081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com