PDA

View Full Version : ارسال و دریافت اطلاعات به قسمت Url اینترنت explorer



ashki
جمعه 03 تیر 1384, 16:36 عصر
سلام می در حال ساخت یک برنامه هستم اینک احتیاج دارم که متن نوشته شده
کاربر را در قسمت Url برنامه Internet Explorer جاری بدست آورم و یک متن دیگر جای گزین
آن کنم

راه حل شما در مورد این مسئله چه می باشد؟؟؟؟

MSK
جمعه 03 تیر 1384, 19:38 عصر
فکر میکنم تو مجبوری هندل edit مربوط به url اینترنت اکسپلورر رو پیدا کنی که کار ساده ای بنظر نمی رسه!

ashki
جمعه 03 تیر 1384, 21:46 عصر
لطفا مدیران و اساتید راهنمایی کنند
این خیلی مهم هست برام

vcldeveloper
شنبه 04 تیر 1384, 04:03 صبح
http://delphi.about.com/od/windowsshellapi/l/aa060303a.htm

ashki
شنبه 04 تیر 1384, 10:29 صبح
سلام آقای کشاورز امکان دارد لینکی که شما دادین را خودتان در برنامه دلفی اجرا نمایید
من کدها ار پیس کردم اما برنامه من عمل نمی کند انگار نه انگار
برنامه ارور یا چیزی هم نمی ده
اگر امکان داره شما بزرگواری کنید مرسی
و یک چیزه دیگی چطور می شه پنجره جاری را بدست آورد
بازم مرسی

vcldeveloper
یک شنبه 05 تیر 1384, 04:54 صبح
کدی که در مقاله بالا بهش اشاره شده، بدرستی کار میکنه:


function GetUrlFromIE (Handle: THandle; List: TStringList): boolean; stdcall;
var
hWndIE, hWndIEChild : HWND;
Buffer : array[0..255] of Char;
begin
//get the window caption
SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));
//look for the Internet Explorer window with "Buffer" caption
hWndIE := FindWindow('IEFrame', Buffer);
if hWndIE > 0 then

(* continues below... *)
begin
//try to get a handle to IE's toolbar container
hWndIEChild := FindWindowEx(hWndIE, 0, 'WorkerW', nil);
if hWndIEChild > 0 then
begin
//get a handle to address bar
hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ReBarWindow32', nil);
if hWndIEChild > 0 then
begin
//finally, locate combo box and add its text to the list
hWndIEChild := FindWindowEx(hWndIEChild, 0, 'ComboBoxEx32', nil);
if hWndIEChild > 0 then
begin
SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
//List.AddObject(Buffer,TObject(hWndIE));
List.Add(Buffer)
end;
end;
end;
end;
//continue enumeration
Result :=True;
end; (*GetUrlFromIE*)

نحوه استفاده از تابع Callback فوق:


procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
EnumWindows(@GetUrlFromIE, LParam(ListBox1.Items));
end;