我正在使用JNA並需要使用MapVirtualKeyEx函數。無法找到指定的程序(MapVirtualKeyEx)JNA(Java)
下面是簽名:在簽名
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
。
我得到的錯誤是:The specified procedure could not be found.
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 /南國防軍使用的自動化的方式?
注:我已閱讀此http://stackoverflow.com/questions/5156055/jna-the-specified-procedure-could-not-be-found和其他幾個,但它沒有幫助。 – David 2011-06-03 22:17:39