wan_net 0 Denunciar post Postado Novembro 7, 2006 gostaria de saber se tem como eu copiar a url da barra de endereço do internet explorer para dentro de uma edit Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Novembro 7, 2006 Ops! bom kra.... tenta issu: procedure TForm1.btnCopiarClick(Sender: TObject);varHandle: THandle;Texto: array[0..63] of Char;beginHandle:= FindWindow('IEFrame',nil);Handle:= FindWindowEx(Handle, 0, 'WorkerW', nil);Handle:= FindWindowEx(Handle, 0, 'ReBarWindow32', nil);Handle:= FindWindowEx(Handle, 0, 'ComboBoxEx32', nil);Handle:= FindWindowEx(Handle, 0, 'ComboBox', nil);Handle:= FindWindowEx(Handle, 0, 'Edit', nil);SendMessage(Handle, WM_GETTEXT, 64, LongInt(@Texto));edit1.Text:= Texto;end; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 7, 2006 Fiz um aplicativo da seguinte forma: unit fPrincipal;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;type TfrmPrincipal = class(TForm) Timer1: TTimer; listPagSol: TListBox; procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end;var frmPrincipal: TfrmPrincipal;implementation{$R *.dfm}function GetUrlFromIE(Handle: THandle; List: TStringList): boolean; stdcall;var hWndIE, hWndIEChild : HWND; Buffer : array[0..255] of Char;beginSendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));hWndIE:=FindWindow('IEFrame', Buffer);if hWndIE > 0 then begin hWndIEChild:=FindWindowEx(hWndIE, 0, 'WorkerW', nil); if hWndIEChild > 0 then begin hWndIEChild:=FindWindowEx(hWndIEChild, 0, 'ReBarWindow32', nil); if hWndIEChild > 0 then begin hWndIEChild:=FindWindowEx(hWndIEChild, 0, 'ComboBoxEx32', nil); if hWndIEChild > 0 then begin //Pega a URL e trabalha com o valor SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer)); if List.IndexOf(Buffer) < 0 then List.Add(Buffer); end; end; end; end;Result:=True;end;procedure TfrmPrincipal.Timer1Timer(Sender: TObject);begin//Será executado a cada 10segundosEnumWindows(@GetUrlFromIE, LParam(listPagSol.Items));end;end. Somente adicionei o componente Timer e ListBox, no caso coloquei o timer para ser executado a cada 10 segundos, ele pega todas as páginas abertas do IE e adiciona no ListBox, mas somente adiciona se ainda não estiver na listagem.... Compartilhar este post Link para o post Compartilhar em outros sites