Resolvi... no IE7 ele tem um novo handle que chama Address Band Root... ai 
funfo.... Wesley


{ Captura URL ^}
function CapturaUrls (  Handle: THandle; List: TStringList  ): Boolean; stdcall;
var
    hWndIE, hWndIEChild : HWND;
    Buffer : array[0..255] of Char;
begin
    SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));

    { captura o Handle da Janela  }
    hWndIE:=FindWindow('IEFrame', Buffer);

    { Se Achou }
    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));
                      List.Add(Buffer);
                    end;
                end;
            end;
        end
    else
        begin
            { captura o Handle da Janela IE7  }
            hWndIE:=FindWindow('IEFrame', Nil );
            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, 'Address 
Band Root', nil);
                            if hWndIEChild > 0 then
                                begin
                                    hWndIEChild:=FindWindowEx(hWndIEChild, 0, 
'ComboBoxEx32', nil);
                                    if hWndIEChild > 0 then
                                        begin
                                            SendMessage(hWndIEChild, 
WM_GETTEXT, 255, integer(@Buffer));
                                            List.Add(Buffer)

                                        end
                                end
                            end
                        end
                  end
          end;
Result:=True;
end;






From: BandaLemuel 
Sent: Wednesday, October 08, 2008 12:51 PM
To: delphi-br@yahoogrupos.com.br 
Subject: Re: [delphi-br] tecla identificar ? resolvido


Obrigado a todos deu certo... uam duvida que não tem nada haver... eu uso esta 
função para capturar a URL do navegador IE.... ele não achao IE7 alguiem sabe 
como fazer.. ???

function CapturaUrls ( Handle: THandle; List: TStringList ): Boolean; stdcall;
var
hWndIE, hWndIEChild : HWND;
Buffer : array[0..255] of Char;
begin
SendMessage(Handle, WM_GETTEXT, 255, integer(@Buffer[0]));

{ captura o Handle da Janela }
hWndIE:=FindWindow('IEFRAME', Buffer);

{ Se Achou }
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));
List.Add(Buffer);
end;
end;
end;
end
else
Form1.mmo1.Text := 'Não achou';
Application.ProcessMessages;

Result:=True;
end;

From: Luciano Calenzani Simões 
Sent: Wednesday, October 08, 2008 11:50 AM
To: delphi-br@yahoogrupos.com.br 
Subject: Res: [delphi-br] tecla identificar ? resolvido

Isso mesmo, crie procedures, uma para read (Get) e outa para write (Set). Daí 
quanto a property for lida executará a Set e quanto for gravada executará a Set.

Inclusive se você usar o complete composite (CTRL+SHIFT+C) ao escrever uma 
property ele irá sugerir já com essa estrutura (sintaxe).
Exemplo, neste caso uma procedure e um field, mas poderia ser uma procedure e 
uma função:

TMinhaClasse = class
FTeste: String;
procedure SetTeste(const Value: String);
{ Private declarations }
public
{ Public declarations }
property Teste : String read FTeste write SetTeste;
end;

implementation

procedure TMinhaClasse.FormCreate(Sender: TObject);
begin

end;

procedure TMinhaClasse.SetTeste(const Value: String);
begin
FTeste := Value;
end;

Luciano Calenzani Simões

----- Mensagem original ----
De: BandaLemuel <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quarta-feira, 8 de Outubro de 2008 11:38:48
Assunto: Re: [delphi-br] tecla identificar ? resolvido

Vinicius.. Eu não entendi.... eu declarei assim....

property TipoEntrada : TTipoTexto read FTipoTexto write FTipoTexto default 
ttTodos ;

Como deveria ficar.. assim ???

property TipoEntrada : TTipoTexto read GetTipoTexto write SetTipoTexto default 
ttTodos ;

E devo cria uma procedure GetTipoTexto e SetTipoTexto. .. o componente entende 
que quando eu alterar ele terá q executá-las ???

Wesley 

Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara 
@ymail.com ou @rocketmail.com.
http://br.new.mail.yahoo.com/addresses

[As partes desta mensagem que não continham texto foram removidas]

__________ Information from ESET NOD32 Antivirus, version of virus signature 
database 3503 (20081008) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

[As partes desta mensagem que não continham texto foram removidas]



 

__________ Information from ESET NOD32 Antivirus, version of virus signature 
database 3503 (20081008) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


[As partes desta mensagem que não continham texto foram removidas]

Responder a