我找到了解决问题的方法.我用JNA生成键盘事件.
以下是一些代码,以防任何人需要它们.
从User32.dll使用JNA和keybd_event方法的基本内容:
import com.sun.jna.*;
import com.sun.jna.Native;
import com.sun.jna.platform.win32.User32;
import com.sun.jna.win32.StdCallLibrary;
public interface User32jna extends User32 {
User32jna INSTANCE = (User32jna) Native.loadLibrary("user32.dll",User32jna.class);
public void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
}
User32jna u32 = User32jna.INSTANCE;
然后将其插入需要生成键事件的位置:
u32.keybd_event((byte) 0x15,(byte)0xF2,0,0);
0x15和0xF2是我正在寻找的Hangul /英语切换键的虚拟键码和键盘扫描码,但是查找代码以获取您需要的任何键,然后替换它们,您几乎可以生成任何关键事件.
你需要jna.jar和platform.jar才能工作.