use Win32::GUI; use Win32::GUI::DIBitmap; use Win32::GuiTest qw(FindWindowLike GetWindowText); my $W = new Win32::GUI::Window ( -title => "Test Window", -pos => [100, 100], -size => [400, 400], -name => "Window" ); $W->AddButton ( -pos => [100, 100], -size => [200, 200], -text => 'tstbtn', -name => "Button", -visible => 1 ); $W->Show(); Win32::GUI::Dialog(); my $hdc = Win32::GUI::DC->new($W); print "hcd is $hdc\n"; print "Window name is '" . GetWindowText($W->{-handle}) . "'\n"; for my $x(keys %{$hdc}) { print"$x --> $hdc->{$x}\n"; } print "ERROR: $!\n" unless my $bmap = Win32::GUI::DIBitmap->newFromDC($hdc); print "bmap2 is $bmap\n"; my $test = $bmap->SaveToFile("c:/z.bmp"); print "TEST: $test\n"; print "==============================\n"; my @windows = FindWindowLike(0, qr/^search.cpan.org/); my $hdc2 = Win32::GUI::DC->new($windows[0]); print "hcd2 is $hdc2\n"; print "Window name is '" . GetWindowText($windows[0]) . "'\n"; for my $x(keys %{$hdc2}) { print"$x --> $hdc2->{$x}\n"; } print "HDC2 ERROR: $^E\n" unless my $bmap2 = Win32::GUI::DIBitmap->newFromDC($hdc2); print "bmap2 is $bmap2\n"; my $test2 = $bmap2->SaveToFile("c:/z2.bmp"); print "TEST2: $test2\n";