Index: base/window_utils.cc |
diff --git a/base/window_utils.cc b/base/window_utils.cc |
deleted file mode 100644 |
index 0c9f49de0a5d1e21c906a661c79d7098f8634234..0000000000000000000000000000000000000000 |
--- a/base/window_utils.cc |
+++ /dev/null |
@@ -1,147 +0,0 @@ |
-// Copyright 2004-2009 Google Inc. |
-// |
-// Licensed under the Apache License, Version 2.0 (the "License"); |
-// you may not use this file except in compliance with the License. |
-// You may obtain a copy of the License at |
-// |
-// http://www.apache.org/licenses/LICENSE-2.0 |
-// |
-// Unless required by applicable law or agreed to in writing, software |
-// distributed under the License is distributed on an "AS IS" BASIS, |
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
-// See the License for the specific language governing permissions and |
-// limitations under the License. |
-// ======================================================================== |
- |
-#include "omaha/base/window_utils.h" |
- |
-#include "base/basictypes.h" |
-#include "omaha/base/constants.h" |
-#include "omaha/base/debug.h" |
-#include "omaha/base/error.h" |
-#include "omaha/base/logging.h" |
-#include "omaha/base/string.h" |
- |
-namespace omaha { |
- |
-namespace { |
- |
-struct FindProcessWindowsRecord { |
- uint32 process_id; |
- uint32 window_flags; |
- CSimpleArray<HWND>* windows; |
-}; |
- |
-BOOL CALLBACK FindProcessWindowsEnumProc(HWND hwnd, LPARAM lparam) { |
- FindProcessWindowsRecord* enum_record = |
- reinterpret_cast<FindProcessWindowsRecord*>(lparam); |
- ASSERT1(enum_record); |
- |
- DWORD process_id = 0; |
- ::GetWindowThreadProcessId(hwnd, &process_id); |
- |
- // Only count this window if it is in the right process |
- // and it satisfies all specified window requirements. |
- if (enum_record->process_id != process_id) { |
- return true; |
- } |
- if ((enum_record->window_flags & kWindowMustBeTopLevel) && |
- ::GetParent(hwnd)) { |
- return true; |
- } |
- |
- if ((enum_record->window_flags & kWindowMustHaveSysMenu) && |
- !(GetWindowLong(hwnd, GWL_STYLE) & WS_SYSMENU)) { |
- return true; |
- } |
- |
- if ((enum_record->window_flags & kWindowMustBeVisible) && |
- !::IsWindowVisible(hwnd)) { |
- return true; |
- } |
- |
- enum_record->windows->Add(hwnd); |
- return true; |
-} |
- |
-} // namespace |
- |
-bool WindowUtils::FindProcessWindows(uint32 process_id, |
- uint32 window_flags, |
- CSimpleArray<HWND>* windows) { |
- ASSERT1(windows); |
- windows->RemoveAll(); |
- FindProcessWindowsRecord enum_record = {0}; |
- enum_record.process_id = process_id; |
- enum_record.window_flags = window_flags; |
- enum_record.windows = windows; |
- ::EnumWindows(FindProcessWindowsEnumProc, |
- reinterpret_cast<LPARAM>(&enum_record)); |
- int num_windows = enum_record.windows->GetSize(); |
- return num_windows > 0; |
-} |
- |
-void WindowUtils::MakeWindowForeground(HWND wnd) { |
- if (!IsWindowVisible(wnd)) { |
- // If the window is hidden and we call SetWindowPos with SWP_SHOWWINDOW |
- // then the window will be visible. |
- // If the caller wants it visible they should do it themselves first. |
- return; |
- } |
- if (!SetWindowPos(wnd, |
- HWND_TOP, |
- 0, |
- 0, |
- 0, |
- 0, |
- SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW)) { |
- UTIL_LOG(LE, (_T("[WindowUtils::MakeWindowForeground]") |
- _T("[SetWindowPos failed][0x%08x]"), HRESULTFromLastError())); |
- } |
-} |
- |
-bool WindowUtils::IsMainWindow(HWND wnd) { |
- return NULL == ::GetParent(wnd) && IsWindowVisible(wnd); |
-} |
- |
-bool WindowUtils::HasSystemMenu(HWND wnd) { |
- return (GetWindowLong(wnd, GWL_STYLE) & WS_SYSMENU) != 0; |
-} |
- |
-// The system displays the system large icon in the ALT+TAB dialog box. |
-// We do not need any small icon in the window caption. However, setting |
-// ICON_BIG has the side effect of the window displaying a scaled down |
-// version of it in the window caption. We could not find any way to |
-// hide that icon, including setting the icon to NULL or handling WM_GETICON |
-// message. |
-HRESULT WindowUtils::SetWindowIcon(HWND hwnd, WORD icon_id, HICON* hicon) { |
- ASSERT1(hwnd); |
- ASSERT1(hicon); |
- *hicon = NULL; |
- |
- const int cx = ::GetSystemMetrics(SM_CXICON); |
- const int cy = ::GetSystemMetrics(SM_CYICON); |
- HINSTANCE exe_instance = static_cast<HINSTANCE>(::GetModuleHandle(NULL)); |
- HICON icon = reinterpret_cast<HICON>(::LoadImage(exe_instance, |
- MAKEINTRESOURCE(icon_id), |
- IMAGE_ICON, |
- cx, |
- cy, |
- LR_DEFAULTCOLOR)); |
- if (!icon) { |
- HRESULT hr = HRESULTFromLastError(); |
- CORE_LOG(LE, (_T("[SetWindowIcon - LoadImage failed][0x%x]"), hr)); |
- return hr; |
- } |
- |
- ::SendMessage(hwnd, |
- WM_SETICON, |
- ICON_BIG, |
- reinterpret_cast<LPARAM>(icon)); |
- *hicon = icon; |
- return S_OK; |
-} |
- |
- |
-} // namespace omaha |
- |