OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 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 #ifndef CHROME_FRAME_CHROME_FRAME_HELPER_UTIL_H_ | |
6 #define CHROME_FRAME_CHROME_FRAME_HELPER_UTIL_H_ | |
7 | |
8 #include <windows.h> | |
9 | |
10 // Compare the given class name with the known window class names for | |
11 // internet explorer browser windows. | |
12 // | |
13 // @param [in] window_to_check handle to the window to be checked | |
14 // | |
15 // @return true if the window class matches known class names for IE browser. | |
16 // | |
17 bool UtilIsWebBrowserWindow(HWND window_to_check); | |
18 | |
19 // A utility function that retrieves the specified web browser COM interface | |
20 // from the web browser window. The passed in window must be the web browser | |
21 // window (class name "IEFrame" in IE6 and "TabWindowClass" in IE7) | |
22 // @param[in] window The web browser window whose COM object is to be fetched | |
23 // @param[in] iid The IID of the interface to be fetched | |
24 // @param[out] web_browser_object | |
25 // The requested interface pointer to the web browser object | |
26 // is returned in this variable upon success | |
27 // | |
28 HRESULT UtilGetWebBrowserObjectFromWindow(HWND window, | |
29 REFIID iid, | |
30 void** web_browser_object); | |
31 | |
32 // Checks to see whether the passed in window is of the class specified. | |
33 // of the heirarchy list | |
34 // @param hwnd_to_match [in] The handle of the window that is to be | |
35 // matched. | |
36 // @param window_class [in] The window class to match against. | |
37 // | |
38 bool IsWindowOfClass(HWND hwnd_to_match, const wchar_t* window_class); | |
39 | |
40 // Returns true if the current process name is process_name, false otherwise. | |
41 bool IsNamedProcess(const wchar_t* process_name); | |
42 | |
43 // Returns true if window has the name |window_name|, false otherwise. | |
44 bool IsNamedWindow(HWND window, const wchar_t* window_name); | |
45 | |
46 // | |
47 // This function recursively enumerates all windows from a given starting point | |
48 // and searches for the first occurrence of a window matching | |
49 // the class name and window name passed in. We use the EnumChildWindows API | |
50 // to search for the window. | |
51 // @note The FindWindowEx function does something similar, however, it goes | |
52 // only one level deep and does not recurse descendants. | |
53 // @param parent [in] The HWND of the window from which to start looking. If | |
54 // this is NULL then enumerate all windows on the desktop. | |
55 // @param class_name [in, optional] The class name of the matching window | |
56 // @param window_name [in, optional] The window text of the matching window. | |
57 // At least one of class_name and | |
58 // window_name must be non-NULL. | |
59 // @param thread_id_to_match [in] This parameter will be used to match | |
60 // particular thread id for window. | |
61 // @param process_id_to_match [in] This parameter will be used to match | |
62 // particular process id for window. | |
63 // @return The window handle of the matching window, if found, or NULL. | |
64 // | |
65 HWND RecurseFindWindow(HWND parent, | |
66 const wchar_t* class_name, | |
67 const wchar_t* window_name, | |
68 DWORD thread_id_to_match, | |
69 DWORD process_id_to_match); | |
70 | |
71 // Reads |value_size| characters from a value named |value_name| in |key| and | |
72 // places them in the buffer pointed to by |value|. Returns ERROR_SUCCESS on | |
73 // success. | |
74 LONG ReadValue(HKEY key, | |
75 const wchar_t* value_name, | |
76 size_t value_size, | |
77 wchar_t* value); | |
78 | |
79 | |
80 // Returns true if our BHO is registered in the HKLM subkey that IE checks for | |
81 // the list of BHOs to load. | |
82 bool IsBHOLoadingPolicyRegistered(); | |
83 | |
84 // Returns true if system-level Chrome Frame is installed. | |
85 bool IsSystemLevelChromeFrameInstalled(); | |
86 | |
87 #endif // CHROME_FRAME_CHROME_FRAME_HELPER_UTIL_H_ | |
OLD | NEW |