Hello fellow Monks,

I'm having trouble using a DC to retrieve a screen capture bitmap with Win32::GUI::DIBitmap. Here's a code snipit of what I'm trying to do:

use Win32::GUI; use Win32::GUI::DIBitmap; use Win32::GuiTest qw(FindWindowLike GetWindowText); my @windows = FindWindowLike(0, qr/^search.cpan.org/); my $hdc = Win32::GUI::DC->new($windows[0]); print "hcd is $hdc\n"; print "Window name is '" . GetWindowText($windows[0]) . "'\n"; my $bmap = newFromDC Win32::GUI::DIBitmap ($hdc); print "bmap is $bmap\n";
It produces the following output:

C:\apps\Perl\dev>perl grabscreen.pl hcd is Win32::GUI::DC=HASH(0x224dbc) Window name is 'search.cpan.org: The CPAN Search Site - Microsoft Inte +rnet Explorer' bmap is
If the code were working correctly, bmap should be Win32::GUI::Bitmap=HASH(0x224de0). But it's coming back undefined. The $hdc is obviously defined, so what am I doing wrong here? Can anyone suggest a way to get more debug info from the method?

I'm aware of the other techniques to do screen captures. I prefer this technique, because it's more efficient than using the clipboard, and if I can get it to work, newFromDC will allow me to grab just a small rectangle of the window, rather than the entire window.

Thanks,
TROGDOR

In reply to Using Win32::GUI::DIBitmap for screen capture by TROGDOR

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.