Te lo dejo en C que me da joda pasarlo a MASM.
Salu2.
Att: Iker
Código [Seleccionar]
#include <cstdio>
#include <cstdlib>
#include <windows.h>
#define MAX_CLASS 256
#define MAX_TEXT 2048
#define PROGRAM_STR "XXXXXXXXXXXXXXXXXXX"
BOOL CALLBACK EnumChildProc( HWND hWnd, LPARAM lParam)
{
char szClass[MAX_CLASS + 1];
char szText[MAX_TEXT + 1];
int iAux, iLen;
if (hWnd == NULL)
return FALSE;
memset( szText, 0x00, MAX_TEXT + 1);
memset( szClass, 0x00, MAX_CLASS + 1);
iLen = GetWindowText( hWnd, szText, MAX_TEXT);
iAux = GetClassName( hWnd, szClass, MAX_CLASS);
if (iAux <= 0 && iLen <= 0) {
printf("Unkownn Control Window Identifier[%X]\r\n", hWnd);
return TRUE;
}
printf("\tControl Class[%s], Text[%s]\r\n", szClass, szText);
EnumChildWindows( hWnd, EnumChildProc, NULL);
return TRUE;
}
BOOL CALLBACK EnumMainProc( HWND hWnd, LPARAM lParam)
{
char szText[MAX_TEXT + 1];
int iLen = 0;
if (hWnd == NULL)
return FALSE;
memset( szText, 0x00, MAX_TEXT + 1);
iLen = GetWindowText( hWnd, szText, MAX_TEXT);
if (iLen <= 0)
return TRUE;
if (stricmp( szText, PROGRAM_STR) != 0)
return TRUE;
EnumChildWindows( hWnd, EnumChildProc, NULL);
return TRUE;
}
int main( void )
{
EnumWindows( EnumMainProc, NULL);
return 0;
}
Salu2.
Att: Iker