2013-01-11 22:18:32 +01:00
|
|
|
/*
|
2015-04-13 12:42:18 -04:00
|
|
|
Licensed to the Software Freedom Conservancy (SFC) under one
|
|
|
|
|
or more contributor license agreements. See the NOTICE file
|
|
|
|
|
distributed with this work for additional information
|
|
|
|
|
regarding copyright ownership. The SFC licenses this file
|
|
|
|
|
to you under the Apache License, Version 2.0 (the "License");
|
2013-01-11 22:18:32 +01:00
|
|
|
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;
|
2009-06-18 17:33:00 +00:00
|
|
|
}
|