I'm trying to get the current URL in the topmost Internet Explorer window (I know which one).

So, I'm trying to get the text of the hwnd that contains the URL (I know wich one).

So, Win32::GUI::Text() doesn't work.

So, I can't use the Win32::API call to GetWindowText, because "This function cannot retrieve the text of an edit control in another application.". VB examples I've found use SendMessage to do this.

So, I'd like to send the WM_GETTEXT message to the window and have it fill a buffer with the text.

These are the parameters:

WM_GETTEXT  
wParam = (WPARAM) cchTextMax;   // number of characters to copy 
lParam = (LPARAM) lpszText;     // address of buffer for text 

So, I'd like to get the address of a Perl scalar to send as the second parameter. Everything works but this last part.

Can I do that?

Do I have to enter Inline::C and XS land to do that, or is there a nifty module available? (haven't found any on CPAN, possibly because I don't know what to look for)

If you can short circuit the problem, so much the better :)

/J


In reply to Getting the actual address of a scalar by jplindstrom

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.