Jump to content
DiegoBarth

Esperar carregar a nova janela

Recommended Posts

Pessoal,

preciso esperar carregar uma janela, e depois de carregada executar um comando determinado. enquanto a janela fica carregando o ponteiro do mouse fica com aquele circulo girando, indicando que esta pensando.

sei que tem como fazer isso, mas não sei como fazer, alguém pode me ajudar?

 

Att.

Diego

Edited by DiegoBarth

Share this post


Link to post
Share on other sites

Hello. I spotted your post and although I live in the US I hope this may help..

First you can try this

If Not WinExists("Some Window") Then WinWait("Some Window")

putting a Sleep(1000) before it has helped me..

Also u did not specify What type of window,,

so try this as well.

find the control that appears last when its open

then do a 

while ControlGetHandle("the window name", "", "control") = ""
sleep(100)
wend

then do you stuff here

However if you need a HTTP wait for the page to load I would have to look through old code of mine to find it..

This would be a good place to start. The HTTP timeouts can be controlled trough the <em>SetTimeouts</em> method of the Winhttprequest.5.1 object.

Share this post


Link to post
Share on other sites

Hello!

I tried your first code, but it didn't work.

 

about your second code, I have a doubt about what I put in "control".

 

That is my code;

 

Global $Win = $part, $GetTitle
$GetTitle = WinGetTitle($Win)
$currentwin = @CR & $GetTitle -> this line return exacly the windows name that I need to be activated.

 

if I put the code below, it doesn't work.

  1. while ControlGetHandle($currentwin, "", "control") = ""
  2. sleep(100)
  3. wend

could you help me? if you want i can send an email with the screen.

Edited by DiegoBarth

Share this post


Link to post
Share on other sites

Pessoal,

preciso esperar carregar uma janela, e depois de carregada executar um comando determinado. enquanto a janela fica carregando o ponteiro do mouse fica com aquele circulo girando, indicando que esta pensando.

sei que tem como fazer isso, mas não sei como fazer, alguém pode me ajudar?

 

Att.

Diego

 

Diego,

 

Já passei por esse problema ai, e usei a função WinWaitActive() e acabou dando certo!

 

Uma ferramenta que vai te auxiliar muito é a "Au3Info", depois da uma pesquisada e faz o download. Ela te da todas as informações de qualquer elemento para que possa trabalhar com eles.

 

Abraço

Share this post


Link to post
Share on other sites

Israel;

 

Creio que a dúvida do Diego seja a mesma que eu passei algum tempo. http://forum.autoitbrasil.com/index.php?showtopic=1519&hl=

 

O comando winWaitActive() espera até a janela ficar ativa, mais não espera até que ela termine de carregar por completo. E no caso a ação a seguir depende de algum componente que ainda não carregou por exemplo.

Share this post


Link to post
Share on other sites

Pessoal,

tem alguma diferença quando a janela é do tipo Class: Dialog?

 

talvez seja por causa disso que não esteja funcionando.

 

Em anexo esta uma imagem com as informações da janela.

 

Att.

Diego

post-2513-0-08918500-1430833409_thumb.jpg

Share this post


Link to post
Share on other sites

Pessoal,

tem alguma diferença quando a janela é do tipo Class: Dialog?

 

talvez seja por causa disso que não esteja funcionando.

 

Em anexo esta uma imagem com as informações da janela.

 

Att.

Diego

 

Diego,

 

Eu tive esse problema já. Como a classe da minha janela era Dialog eu não consegui torná-la ativa, então eu usei para acessar um textbox nessa janela. Ficou assim:

 

WinWaitActive ("[CLASSE:ThunderRT6TextBox1]")

 

E funcionou. Tenta acessar o elemento que vc quer dentro da janela, e não a janela.

 

Atenciosamente!

Israel

Share this post


Link to post
Share on other sites

Israel;

 

Creio que a dúvida do Diego seja a mesma que eu passei algum tempo. http://forum.autoitbrasil.com/index.php?showtopic=1519&hl=

 

O comando winWaitActive() espera até a janela ficar ativa, mais não espera até que ela termine de carregar por completo. E no caso a ação a seguir depende de algum componente que ainda não carregou por exemplo.

 

Prezados tenho a mesma dúvida do Israel, porém a minha aplicação não é web, portanto o link dele não me foi muito útil.

 

Existe algum comando que seja similar ao WinWaitActive porém espere a janela estar 100% carregada?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×