读书人

利用JInvoke点击win窗体旋钮

发布时间: 2012-12-30 10:43:15 作者: rapoo

利用JInvoke点击win窗体按钮

利用第三方包JInvoke,可以方便的调用User32.dll中的api,来实现对windows窗体访问。

?

Tips: 网上例子不太多,可以先搜索User32 api,然后再在类库中找对应方法 :)

?

做了个简单的demo,点击某windows窗体的某个按钮,代码如下:

?

import com.jinvoke.win32.User32;public class WindowUtil {    public int clickButton(String windowName, String buttonName) {            // 通过titile查找某windows窗体,并对应返回hwnd        int winPtr = User32.FindWindow(null, windowName);        if (winPtr > 0) {            // 前端显示            User32.SetForegroundWindow(winPtr);                        // 查找button对象,并返回该button句柄            int buttonPtr = User32.FindWindowEx(winPtr, 0, "Button", buttonName);            if (buttonPtr > 0) {                // 将Click事件通过send Message发送给button                User32.SendMessage(buttonPtr, com.jinvoke.win32.WinConstants.BM_CLICK, 0, 0);                return 1;            }        }        return 0;    }    public static void main(String argv[]) {WindowUtil wUtil = new WindowUtil();        wUtil.clickButton("打开", "取消");    }}

?

Hope it can relax your eyes : )

利用JInvoke点击win窗体旋钮

读书人网 >编程

热点推荐