1// Copyright (c) 2010 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include <windows.h> 6 7#ifndef CHROME_FRAME_EVENT_HOOKER_H_ 8#define CHROME_FRAME_EVENT_HOOKER_H_ 9 10class EventHooker { 11 public: 12 EventHooker(); 13 ~EventHooker(); 14 15 // Call this to install event hooks that will trigger on window creation 16 // and reparenting. Returns true if the hooks are successfully installed, 17 // false otherwise. 18 bool StartHook(); 19 20 // Call this to remove the event hooks that are installed by StartHook(). 21 void StopHook(); 22 23 // The callback invoked in response to an event registered for in StartHook(). 24 static VOID CALLBACK WindowCreationHookProc(HWINEVENTHOOK hook, 25 DWORD event, 26 HWND window, 27 LONG object_id, 28 LONG child_id, 29 DWORD event_tid, 30 DWORD event_time); 31 32 private: 33 HWINEVENTHOOK window_creation_hook_; 34}; 35 36#endif // CHROME_FRAME_EVENT_HOOKER_H_ 37