| /* | |
| Copyright 2007-2009 WebDriver committers | |
| Copyright 2007-2009 Google Inc. | |
| Portions copyright 2011 Software Freedom Conservancy | |
| 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 "stdafx.h" | |
| #include "interaction_utils.h" | |
| #include <atlbase.h> | |
| #include <atlstr.h> | |
| #include <atlwin.h> | |
| #include <ctime> | |
| void wait(long millis) | |
| { | |
| clock_t end = clock() + millis; | |
| do { | |
| MSG msg; | |
| if (PeekMessage( &msg, NULL, 0, 0, PM_REMOVE)) { | |
| TranslateMessage(&msg); | |
| DispatchMessage(&msg); | |
| } | |
| Sleep(0); | |
| } while (clock() < end); | |
| } | |
| void waitWithoutMsgPump(long millis) | |
| { | |
| Sleep(millis); | |
| } | |
| // "Internet Explorer_Server" + 1 | |
| #define LONGEST_NAME 25 | |
| HWND getChildWindow(HWND hwnd, LPCTSTR name) | |
| { | |
| TCHAR pszClassName[LONGEST_NAME]; | |
| HWND hwndtmp = GetWindow(hwnd, GW_CHILD); | |
| while (hwndtmp != NULL) { | |
| ::GetClassName(hwndtmp, pszClassName, LONGEST_NAME); | |
| if (lstrcmp(pszClassName, name) == 0) { | |
| return hwndtmp; | |
| } | |
| hwndtmp = GetWindow(hwndtmp, GW_HWNDNEXT); | |
| } | |
| return NULL; | |
| } |