java - 如何使用 Java native 访问 (JNA) 映射回调函数

标签 java winapi jna

如何使用 WH_FOREGROUNDIDLE 和以下回调函数设置 windows hook

DWORD CALLBACK ForegroundIdleProc( __in int code, DWORD wParam, LONG lParam );

我正在尝试检测线程/进程何时空闲。

我已经通过使用以下函数获得了 threadProccessId:

GetForegroundWindow -> GetWindowThreadProcessId.

最佳答案

 public static interface ForegroundIdleProc extends Callback(){
   int invoke(int code, int wParam , NativeLong lParam);
 }

 /*....Usage....*/
 ForegroundIdleProc proc = new ForegroundIdleProc(){
   int invoke(int code, int wParam , NativeLong lParam){
      /* Handle callback */
       /*Make sure you define this function first.*/
       return NativeLibrary.Instance.CallNextHookEx(NULL , code , wParam , lParam);
   } 
 }

 NativeLibrary.Instance.SetWindowsHookEx(WH_FOREGROUNDIDLE , proc , etc etc);

编辑:添加了返回语句。

关于java - 如何使用 Java native 访问 (JNA) 映射回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6926568/

相关文章:

java - SnakeYAML 保存不正确

winapi - IWebBrowser2 控件中的 Tab 键支持

java - 如何编写使用 jna 捕获关闭事件的代码?

java - JNA在windows平台上映射LPCSTR

java - 调用栈是语言安全的数据结构吗?类星体+ Fortran?

java - 代码完成 XML 在 Android Studio 上不起作用

java - 像 a[1][1][1][1]....[1] 这样的 Java 支持多少维数组?

java - 使用java代码运行jar时出错

c++ - <system_error> 类别和标准/系统错误代码

c++ - 为什么这个带有 WINAPI 的 c++ 语法是什么意思?