私のDLLにこれらの関数が宣言されています。私がスタンドアロンアプリケーションでそれらを使用すると、すべてうまくいくが、サービスでそれらを使用するとき、私は結果を得ない。フックはありません。サービスからインストールしたときにフックDLLが動作しないのはなぜですか?
function HookProc(code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
Result := CallNextHookEx(Code, code, wParam, lParam)
end;
procedure StartHook; stdcall;
begin
HookHandle := SetWindowsHookEx(WH_GETMESSAGE, HookProc, hInstance, 0);
end;
procedure StopHook; stdcall;
begin
UnhookWindowsHookEx(HookHandle);
end;
問題はVista以上でのみ発生します。
ビスタで埋められたセキュリティホールを埋めるのは恐れている。サービスはそれぞれのセッションで実行されます。ここで「サービスとフック」を検索すると、答えが見つからないような質問がたくさんあります。あなたは、コミュニケーションの他の方法を考え出す必要があります。 –