は、私はスレッド/プロセスがアイドル状態になったときを検出しようとしていますウィンドウがWH_FOREGROUNDIDLE
でフックし、次のコールバック関数は、Javaのネイティブアクセス(JNA)とコールバック関数をマッピングする方法を
DWORD CALLBACK ForegroundIdleProc(__in int code, DWORD wParam, LONG lParam);
設定するにはどうすればよいです。
私は、次の機能を使用してthreadProccessId
を取得している:
GetForegroundWindow -> GetWindowThreadProcessId.
返品は何ですか?呼び出しボタンをオーバーライドすると、何かを返すように要求されます。 msdnは、ForegroundIdleProcが0を返すときにCallNextHookExを呼び出さなければならないと言っています。私は少しここで混乱しています。 – paktrick
MSDNに従って 'コードがゼロより小さい場合、フックプロシージャはCallNextHookExによって返された値を返さなければなりません。 コードが0以上の場合は、CallNextHookExを呼び出して返される値を返すことを強くお勧めします。そうしないと、WH_FOREGROUNDIDLEフックをインストールした他のアプリケーションはフック通知を受信せず、結果として誤って動作する可能性があります。フックプロシージャがCallNextHookExを呼び出さない場合、戻り値はゼロでなければなりません。 – Abhijith