Advertisement
7_2009-2012 Windows API Call/ Explanation #222618

Grab the current URL from IE

This code will show you how to find the Internet Explorer browser window, then grab the current URL out of the IE address bar. Perfect for learning simple win32 api functions in delphi.

AI

สรุปโดย AI: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.

ซอร์สโค้ด
original-source
<pre><i><span style='color:green'>{-------------------------------------------------------}</span></i><o:p></o:p></pre><pre><b><span
style='color:red'>Function</span></b> GetText<b><span style='font-size:12.0pt;
color:blue'>(</span></b>WindowHandle<b><span style='font-size:12.0pt;
color:blue'>:</span></b> hwnd<b><span style='font-size:12.0pt;color:blue'>):</span><span
style='color:red'>string</span></b><b><span style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre><b><span
style='color:red'>var</span></b><o:p></o:p></pre><pre>txtLength <b><span
style='font-size:12.0pt;color:blue'>:</span></b> integer<b><span
style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre>buffer<b><span
style='font-size:12.0pt;color:blue'>:</span></b> <b><span style='color:red'>string</span></b><b><span
style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre><b><span
style='color:red'>begin</span></b><o:p></o:p></pre><pre> TxtLength <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> SendMessage<b><span style='font-size:12.0pt;color:blue'>(</span></b>WindowHandle<b><span
style='font-size:12.0pt;color:blue'>,</span></b> WM_GETTEXTLENGTH<b><span
style='font-size:12.0pt;color:blue'>,</span></b> <span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b> <span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre> txtlength <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> txtlength <span style='font-size:12.0pt;color:blue'>+</span> <span
style='color:brown'>1</span><b><span style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre> setlength <b><span
style='font-size:12.0pt;color:blue'>(</span></b>buffer<b><span
style='font-size:12.0pt;color:blue'>,</span></b> txtlength<b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre> sendmessage <b><span
style='font-size:12.0pt;color:blue'>(</span></b>WindowHandle<b><span
style='font-size:12.0pt;color:blue'>,</span></b>wm_gettext<b><span
style='font-size:12.0pt;color:blue'>,</span></b> txtlength<b><span
style='font-size:12.0pt;color:blue'>,</span></b> longint<b><span
style='font-size:12.0pt;color:blue'>(</span></b><span style='font-size:12.0pt;
color:blue'>@</span>buffer<b><span style='font-size:12.0pt;color:blue'>[</span></b><span
style='color:brown'>1</span><b><span style='font-size:12.0pt;color:blue'>]));</span></b><o:p></o:p></pre><pre> result <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> buffer<b><span style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre><b><span
style='color:red'>end</span></b><b><span style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre><b><span
style='color:red'>function</span></b> GetURL<b><span style='font-size:12.0pt;
color:blue'>:</span><span style='color:red'>string</span></b><b><span
style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre><b><span
style='color:red'>var</span></b><o:p></o:p></pre><pre>ie<b><span
style='font-size:12.0pt;color:blue'>,</span></b>toolbar<b><span
style='font-size:12.0pt;color:blue'>,</span></b>combo<b><span style='font-size:
12.0pt;color:blue'>,</span></b><o:p></o:p></pre><pre>comboboxex<b><span
style='font-size:12.0pt;color:blue'>,</span></b>edit<b><span style='font-size:
12.0pt;color:blue'>,</span></b><o:p></o:p></pre><pre>worker<b><span
style='font-size:12.0pt;color:blue'>,</span></b>toolbarwindow<b><span
style='font-size:12.0pt;color:blue'>:</span></b>hwnd<b><span style='font-size:
12.0pt;color:blue'>;</span></b><o:p></o:p></pre><pre><b><span style='color:
red'>begin</span></b><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>ie <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> FindWindow<b><span style='font-size:12.0pt;color:blue'>(</span></b>pchar<b><span
style='font-size:12.0pt;color:blue'>(</span></b><span style='color:purple'>'IEFrame'</span><b><span
style='font-size:12.0pt;color:blue'>),</span><span style='color:red'>nil</span></b><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>worker <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> FindWindowEx<b><span style='font-size:12.0pt;color:blue'>(</span></b>ie<b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:purple'>'WorkerA'</span><b><span
style='font-size:12.0pt;color:blue'>,</span><span style='color:red'>nil</span></b><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>toolbar <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> FindWindowEx<b><span style='font-size:12.0pt;color:blue'>(</span></b>worker<b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:purple'>'rebarwindow32'</span><b><span
style='font-size:12.0pt;color:blue'>,</span><span style='color:red'>nil</span></b><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>comboboxex <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> FindWindowEx<b><span style='font-size:12.0pt;color:blue'>(</span></b>toolbar<b><span
style='font-size:12.0pt;color:blue'>,</span></b> <span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b> <span style='color:purple'>'comboboxex32'</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b> <b><span style='color:red'>nil</span></b><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>combo <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> FindWindowEx<b><span style='font-size:12.0pt;color:blue'>(</span></b>comboboxex<b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:purple'>'ComboBox'</span><b><span
style='font-size:12.0pt;color:blue'>,</span><span style='color:red'>nil</span></b><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>edit <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> FindWindowEx<b><span style='font-size:12.0pt;color:blue'>(</span></b>combo<b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b><span style='color:purple'>'Edit'</span><b><span
style='font-size:12.0pt;color:blue'>,</span><span style='color:red'>nil</span></b><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>toolbarwindow <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> FindWindowEx<b><span style='font-size:12.0pt;color:blue'>(</span></b>comboboxex<b><span
style='font-size:12.0pt;color:blue'>,</span></b> <span style='color:brown'>0</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b> <span style='color:purple'>'toolbarwindow32'</span><b><span
style='font-size:12.0pt;color:blue'>,</span></b> <b><span style='color:red'>nil</span></b><b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre><span style="mso-spacerun: yes">  </span>result <b><span
style='font-size:12.0pt;color:blue'>:</span></b><span style='font-size:12.0pt;
color:blue'>=</span> GetText<b><span style='font-size:12.0pt;color:blue'>(</span></b>edit<b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><i><span
style='color:green'>{-------------------------------------------------------}</span></i><o:p></o:p></pre><pre><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></pre><pre><b><span
style='color:red'>procedure</span></b> TForm1<b><span style='font-size:13.5pt;
color:blue'>.</span></b>Button1Click<b><span style='font-size:12.0pt;
color:blue'>(</span></b>Sender<b><span style='font-size:12.0pt;color:blue'>:</span></b> TObject<b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><b><span
style='color:red'>begin</span></b><o:p></o:p></pre><pre>showmessage<b><span
style='font-size:12.0pt;color:blue'>(</span></b>GetURL<b><span
style='font-size:12.0pt;color:blue'>);</span></b><o:p></o:p></pre><pre><b><span
style='color:red'>end</span></b><b><span style='font-size:12.0pt;color:blue'>;</span></b><o:p></o:p></pre>
ความคิดเห็นดั้งเดิม (3)
กู้คืนจาก Wayback Machine