fonts.pl

# Use Win32::GuiTest to get a list of supported fonts from a
# dialog box.
# By Ernesto Guisado (erngui@acm.org).
use Win32::GuiTest qw/SendKeys FindWindowLike GetComboContents/;

sub FontTxt { "Fuente"; } # l10n
sub OpenFont { "%ef"; }   # l10n

# Let's see notepad
system("start notepad.exe");
sleep 1;

# Open the Font dialog
SendKeys(OpenFont);

# Find the Font dialog using the title and window class
# The Font dialog isn't a child of the notepad window
my ($fontdlg) = FindWindowLike(0, FontTxt, "#32770");
die "Where is the Font dialog?\n" unless $fontdlg;

# Find the right combo using it's control id
my ($combo) = FindWindowLike($fontdlg, "", "ComboBox", 0x470);
die "Where is the combo with the font names?" unless $combo;

# Print all the font names
for (GetComboContents($combo)) {
    print "'$_'" . "\n";
}

# Close the dialog and notepad
SendKeys("{ESC}%{F4}");