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 10 class 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