/* cmd /V:ON SetEnv /Vista /x64 /Release cl "$F" /GS- /link /SUBSYSTEM:WINDOWS /nodefaultlib /entry:main user32.lib kernel32.lib */ #define UNICODE #include #include #define ARRAY_LENGTH(array) (sizeof(array)/sizeof(array[0])) void ClickWindow(HWND hwnd) { PostMessage(hwnd, WM_LBUTTONDOWN, MK_LBUTTON, 0); PostMessage(hwnd, WM_LBUTTONUP, MK_LBUTTON, 0); } BOOL IsVClockWindow(HWND hwnd) { const static TCHAR VCLOCK_WINDOW_TEXT[] = TEXT("VoiceClock"); const static size_t VCLOCK_WINDOW_TEXT_LENGTH = ARRAY_LENGTH(VCLOCK_WINDOW_TEXT) - 1; TCHAR window_text[VCLOCK_WINDOW_TEXT_LENGTH + 1]; GetWindowText(hwnd, window_text, ARRAY_LENGTH(window_text)); window_text[VCLOCK_WINDOW_TEXT_LENGTH] = '\0'; return CSTR_EQUAL == CompareString(LOCALE_NEUTRAL, 0, VCLOCK_WINDOW_TEXT, -1, window_text, -1); } BOOL CALLBACK FindVClockWindowCallback(HWND hwnd, LPARAM lParam) { if(IsVClockWindow(hwnd)) { *reinterpret_cast(lParam) = hwnd; return FALSE; } return TRUE; } HWND FindVClockWindow() { HWND hwnd = 0; EnumWindows(FindVClockWindowCallback, reinterpret_cast(&hwnd)); return hwnd; } int main() { HWND hwndVClock = FindVClockWindow(); if(hwndVClock) { ClickWindow(hwndVClock); return 0; } return 1; }