Mensagens do Sistema, Hooks, enfim tratar downloads
06/04/2006
0
Vamos a minha primeira pergunta.
Preciso fazer que minha aplicação delphi se comunique com o IExplore (apenas por enquanto) como se fosse um gerenciador de downloads. Eu fiz um programa pra fazer o download, fiz as rotinas pra rodar no sistray, mas preciso descobrir como interceptar os downloads quando o usuario clicar no link no navegador.
Alguem jah fez isso, e pode me ajudar? Mensagens do sistema, Hooks o que usar? (tah dificil achar material sobre hook, baixei agora o madCollection e vou estuda-lo) Como descobrir qual mensagem o sistema envia no momento do clique? Usei o Winsight, mas nao achei a bendita kkk... e tambem ele tah travando direto. [url]www.magnun.cjb.net[/url] tem arquivo log.doc que eu fiz quando cliquei no baixaki pra baixar o abobe 7 quem quizer olhar e me dizer qual é a mesagem agradeço ...
Obrigado a todos...
M@gnun
Posts
07/04/2006
Kroki
07/04/2006
M@gnun
07/04/2006
Kroki
Usando um Timer e ListBox que podem ser substituidos.
function CapturaStatusbar (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]));
hWndIE := FindWindow(PCHar(´IEFrame´), Buffer);
if hWndIE > 0 then
begin
hWndIEChild := FindWindowEx(hWndIE, 0, ´msctls_statusbar32´, nil);
if hWndIEChild > 0 then
begin
SendMessage(hWndIEChild, WM_GETTEXT, 255, integer(@Buffer));
List.AddObject(Buffer,TObject(hWndIE));
end;
end;
Result :=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
Handle: THandle;
begin
HWNDIE:=FindWindow(PCHar(´IEFrame´),nil);
if HWNDIE>0 then begin
ListBox1.Clear;
EnumWindows(@GetUrlFromIE, LParam(ListBox1.Items));
end;
end;
A criatividade é sua com o resto,espero ter contribuido.
07/04/2006
M@gnun
http://ardownload.adobe.com/pub/adobe/reader/win/7x/7.0.5/ptb/AdbeRdr705_DLM_ptb_full.exe
acima eh a url certa e abaixo eh como saiu, lembro, de acordo com o Winshgt
http://ardownload.adobe.com/pub/adobe/reader/win/7x/7.0.5/ptb/AdbeRdr705_DL
vou testar a dica e tentar colocar um tratamento para o lbuttondown do mouse depois posto o resultado. Obrigado
07/04/2006
M@gnun
agora fiz uma rotina pra saber se o mouse é precionado
procedure TPrincipal.WndProc(var Msg: TMessage);
var
P: TPoint;
begin
case Msg.Msg of
WM_LBUTTONDOWN:
//faça alguma coisa;
end;
inherited;
end;
porem ela intercepta o clique, entao o evento que ia ser disparado nao acontece, como saber se o mouse foi clicado e continuar o que devia ser feito.
tambem só funciona com a janela do programa, como fazer um tratamento global
valeu.
07/04/2006
M@gnun
agora fiz uma rotina pra saber se o mouse é precionado
procedure TPrincipal.WndProc(var Msg: TMessage);
var
P: TPoint;
begin
case Msg.Msg of
WM_LBUTTONDOWN:
//faça alguma coisa;
end;
inherited;
end;
porem ela intercepta o clique, entao o evento que ia ser disparado nao acontece, como saber se o mouse foi clicado e continuar o que devia ser feito.
tambem só funciona com a janela do programa, como fazer um tratamento global
valeu.
09/04/2006
Nadilson
Envie-me um e-mail e eu lhe enviarei um pequeno exemplo de como interceptar downloads pelo MS-IE.
Atenciosamente,
Nadilson.
07/04/2014
Michel Marques
Poderiam enviar para mim também?
Seria bom que eu pudesse interceptar os downloads.
Pois tenho um sistema que interage com o IE, efetuando preenchimentos e cliques. E num determinado ponto ele faz um download e eu tenho que ficar procurando a janela de download para mudar o caminho e nome do arquivo e clicar em salvar.
A interceptação do download e download me ajudariam bastante.
michel.marques.me@gmail.com
Obrigado
27/05/2014
Nelson Santos
www.3dsistemas.com.br
Clique aqui para fazer login e interagir na Comunidade :)