java – 用JNA单击鼠标
发布时间:2020-12-15 02:31:42 所属栏目:Java 来源:网络整理
导读:我正试图用JNA模拟鼠标点击窗口. public class App {public static final int WM_LBUTTONUP = 514;public static final int WM_LBUTTONDOWN = 513;public static final int WM_LBUTTONDBLCLK = 0x203;static int WM_CLOSE = 0x10;final static String winTit
|
我正试图用JNA模拟鼠标点击窗口.
public class App {
public static final int WM_LBUTTONUP = 514;
public static final int WM_LBUTTONDOWN = 513;
public static final int WM_LBUTTONDBLCLK = 0x203;
static int WM_CLOSE = 0x10;
final static String winTitle = "Untitled - Notepad";
public static void main(String[] args) throws InterruptedException {
User32Extra user32 = (User32Extra) Native.loadLibrary("user32",User32Extra.class,W32APIOptions.DEFAULT_OPTIONS);
WinDef.HWND hwnd = user32.FindWindow(null,winTitle);
user32.SetForegroundWindow(hwnd);
Thread.sleep(1000);
long y = 77 + (22 << 16);//x + (y << 16)
WinDef.LPARAM l = new WinDef.LPARAM(y);
WinDef.WPARAM w = new WinDef.WPARAM(0);
user32.PostMessage(hwnd,WM_LBUTTONDOWN,w,l);
Thread.sleep(1000);
user32.PostMessage(hwnd,WM_LBUTTONUP,l);
}
}
它找到窗户并把它带到前面.但鼠标单击不起作用.也发送WM_CLOSE工作. 解决方法
只是猜测:点击事件不应传递到主窗口,而应传递到目标按钮对象本身.在给定的坐标上,当实际点击发生时,按钮位于主窗口上方“隐藏”它.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
