Windows GUI - 找出屏幕上点击的内容

时间:2014-08-16 11:29:39

标签: windows winapi user-interface

我在Windows 7上使用Eclipse,在C中使用JNI。

我无法找到一种方法来检测屏幕上点击的内容,例如:"保存文件"在Microsoft Word上,或我浏览器上的后退导航按钮;我不知道在哪里可以找到一个好的教程,或者找到它的方法。

有人请告诉我应该学习什么来实现这个目标吗?

[编辑] :直到今天,我通过以下方式获得了活动窗口的标题:

    // In which window it has been typed/clicked something?
    void whichWindow(void) {
        HWND foreground = GetForegroundWindow();
        char window_title[256];
        if(foreground) {
            GetWindowText(foreground, window_title, 256);
            printf("active window title: %s\n", window_title);
        }
    }

当我能够检索到单击的窗口元素时,我会告诉您。

1 个答案:

答案 0 :(得分:0)

网上有几个程序可以做到这一点。 IIRC winspy就是其中之一。它通过设置全局mousehook来实现这一点,该鼠标钩返回所单击窗口的程序名。 如何在JNI中删除这个?不知道,但这是链接,你要求:

http://www.codeproject.com/Articles/1037/Hooks-and-DLLs