找不到Java JNA sendMessage()

我正在尝试使用JNA (概述)在最小化时将消息发送到应用程序或不在顶部(例如鼠标单击),并且我发现人们正在使用com.sun.jna.platform.win32.User32。 SendMessage A(hW,0x0201,0,0);

但我在这堂课中找不到这个function。

如果我做错了,有人可以给我一个如何实现它的例子吗?

码:

User32 user32; Pointer hW = user32.GetForegroundWindow().getPointer(); user32.SendMessageA( hW, 0x0201, 0, 0 ); 

 public interface User32Ext extends User32 { User32Ext USER32EXT = (User32Ext) Native.loadLibrary("user32", User32Ext.class, W32APIOptions.DEFAULT_OPTIONS); HWND FindWindowEx(HWND lpParent, HWND lpChild, String lpClassName, String lpWindowName); HWND GetTopWindow(HWND hwnd); HWND GetParent(HWND hwnd); HWND GetDesktopWindow(); int SendMessage(HWND hWnd, int dwFlags, byte bVk, int dwExtraInfo); int SendMessage(HWND hWnd, int Msg, int wParam, String lParam); void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); void SwitchToThisWindow(HWND hWnd, boolean fAltTab); } 

您需要自己定义此function。 所有窗口function都未预定义。

示例:(未经测试 – 仅用于示例)

 public interface MyUser32 extends User32 { MyUser32 INSTANCE = (MyUser32)Native.loadLibrary("user32", MyUser32.class, W32APIOptions.DEFAULT_OPTIONS); LRESULT SendMessage(HWND hWnd, int Msg, WPARAM wParam, LPARAM lParam); }