Google Chrome: bug sempre ativo

15

Desculpe pelo título vago, mas este é difícil de explicar, então tenha paciência comigo, por favor.

Estou usando o Windows Vista no trabalho para desenvolvimento web e, às vezes, quando clico ou pressiono a tecla Alt-Tab na janela de plano de fundo, a janela fica com o foco, mas não é trazida para a frente.

Para trazer a janela para a frente, preciso clicar na borda do aplicativo (quando o cursor de redimensionamento aparecer) e a janela pulará para a frente.

Eu tenho esse problema há cerca de um ano e isso acontece pelo menos uma dúzia de vezes por dia, mas não faz isso o tempo todo - parece aleatório.

Espero ter explicado o problema completamente (e você o entendeu) e agradeceria quaisquer respostas ou comentários construtivos para resolver esse problema.

Exemplo: se eu pressionar Alt-Tab do Google Chrome para o Bloco de notas e esse problema ocorrer aleatoriamente, o Google Chrome permanecerá na frente do bloco de notas; no entanto, poderei digitar texto no bloco de notas enquanto a janela estiver atrás do Google Chrome. Clicar na área de conteúdo do bloco de notas não o trará para a frente, mas clicar na borda da janela o fará.

Video Exampe

http://vimeo.com/19388998

Neste vídeo, cliquei no Google Chome no UltraEdit e o chrome permaneceu na fonte, mas como você pode ver, ainda posso digitar o UltraEdit.

Estou começando a acreditar que isso pode ser um bug no Google Chrome, então continuarei observando isso entre outros aplicativos.

GateKiller
fonte
Você pode configurar o computador para uma resolução mais baixa (HD 720p ou menos) e enviar um vídeo que mostra o problema usando o Jing . Além disso, tente desabilitar os aplicativos que iniciam automaticamente com o Autoruns e ShellExView para ver se um programa ou explorador ramal livre está causando esse comportamento, cuidado com o que você desativar embora ...
Tamara Wijsman
Isso acontece quando você tem um determinado aplicativo aberto na frente e tenta alt alternar a partir dele? Pode ser que essa janela tenha sido definida para estar sempre no topo. Eu tive esse problema por um tempo quando minha janela do mIRC estava definida para estar sempre no topo.
Windos
Também encontro esse problema (usando o Windows 7). Embora eu não conheça exatamente a natureza do problema, acho que isso acontece quando meu navegador da Web é aberto e há um conteúdo em flash em um dos sites que eu abri. Dito isto, porém, não consigo reproduzi-lo.
happy_soil 31/01
Agora que penso nisso, tenho alguns programas em execução em segundo plano, definidos como "Always on Top", então acho que isso pode estar interferindo no foco da janela.
happy_soil
@happy_soil: Você pode colocar isso como resposta. Uma janela "Always on Top" em execução é uma boa explicação para esse comportamento.
harrymc

Respostas:

6

No caso do Chrome, este é um problema conhecido: comportamento sempre na parte superior da janela do Chrome

Uma solução rápida para esse problema é selecionar a janela do Chrome e pressionar F11 duas vezes.

harrymc
fonte
Obrigado pelo link deste bug, no entanto, não é o problema que estou tendo. Meu problema está relacionado às janelas do aplicativo e não à barra de tarefas. Não posso confirmar, nesta fase, se o Chrome está causando esse problema ou não.
GateKiller
Sinto muito se esse comentário anterior parecia rude. Não era minha intenção. Eu aprecio sua entrada :)
GateKiller
Esse bug aparentemente afeta tanto a tecla alt-tab quanto a barra de tarefas. O relatório de erro inicial era para a barra de tarefas, mas o comentário 41 também observou seu efeito na alt-tab. (e seu comentário não parecia parece rude todos.)
harrymc
Após novas leituras e testes, concordo que o Google Chrome para Windows é realmente o problema. Adicionei soluções alternativas à sua resposta enquanto esperamos que o Google corrija o problema.
GateKiller
1
Estou no Windows 10. Esse problema ainda está lá e o F11 duas vezes também não funciona.
`` Rosdi
4

Com o que se parece?

Existe apenas um comportamento próximo a esse problema e esse seria o comportamento Always On Top .
Alguma parte do código, talvez do próprio programa, possa estar alterando a propriedade da sua janela ...

Como uma janela é definida como "Always On Top"?

Como criar um formulário que sempre fica no topo mostra que SetWindowPos é chamado com o segundo parâmetro definido como HWND_TOPMOST , isso imediatamente o coloca no topo e o mantém assim.

Após um rápido Google, esse resultado revela que User32.dll é o proprietário dessa função.

Quem define minha janela "Always On Top"?

Agora que temos o conhecimento de que função é chamada, queremos saber quando essa função é chamada. Isso exigirá que façamos rastreamentos de pilha e os analisemos, enquanto o Windows Performance Toolkit pode fazer isso, podemos ficar muito felizes que Rohitab Batra tenha escrito o incrível Api Monitor .

Desculpe, mas este é um dever de casa difícil:

  • Baixe o API Monitor e instale-o.
  • Abra o API Monitor como administrador , se você tiver 64 bits, precisará fazer isso duas vezes.
  • Verifique se nada está marcado no API Capture Filter, no lado esquerdo.
  • No mesmo local, altere Todos os módulos na parte superior da caixa de diálogo para User32.dll .
  • Vamos para

    Windows Application UI Development > Windows and Messages > Windows
    

    e depois

    User32.dll > SetWindowPos
    

Agora, você desejará conectar alguns processos. Palavra de cautela: classifique por PID e não se conecte a winlogon.exealgo que tenha um PID mais baixo que esse; se você fizer isso, irá travar ou travar o sistema. Você também pode enfrentar esse comportamento com outros processos, mas é como uma tentativa e erro para ver quais você pode conectar. Então:

  • Classifique por PID e conecte tudo o que for mais recente winlogon.exe.
  • Se tudo der certo, você poderá ver os tópicos na caixa de diálogo Processo em gancho .
  • Procure uma chamada de API parecida com esta:

    SetWindowPos (0x000000000002043c, HWND_BOTTOM | 0x00000000fffffffe , 0, 0, 0, 0,
    SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE)

Uma chamada para SetWindowPos com HWND_BOTTOM | 0x00000000fffffffe ( -2 + 1 = -1 = HWND_TOPMOST ) é o que buscamos e o processo que faz essa chamada é o que você deve culpar pelo seu problema.

Eu desisto ... Como posso resolver o meu problema "Always On Top"?

Combate a fogo, vamos definir todas as janelas para HWND_NOTOPMOST .

Caramba, programação! Mas isso também pode ser feito facilmente através de scripts ...

Portanto, uma tarefa muito simples:

  • Faça o download do AutoIt v3 .

  • Crie um arquivo ByeByeTopMost.au3 que contenha:

    While 1
        $var = WinList()
    
        For $i = 1 to $var[0][0]
            WinSetOnTop($var[$i][1], "", 0)
        Next
    
        Sleep(5000)
    WEnd
    
  • Coloque-o na sua pasta de inicialização e execute-o ou reinicie.

Ou, se você não gosta de fazer nada, faça o download do arquivo zip que eu criei.

Diverta-se... :-)

PS: Você não pode usar o recurso "Always On Top" neste último caso. Solucionar problemas ou contornar ... ;-)

Tamara Wijsman
fonte
Eu gosto desta resposta.
Supercereal
SetWindowPos não está sendo acionado quando o problema ocorre ... Também acho altamente ofensivo que você renomeie a pergunta completamente e depois escreva uma resposta.
GateKiller
1
@GateKiller: Como isso é ofensivo? Isso ajuda você a receber melhores respostas. Também é uma descrição mais adequada do seu problema (como "janelas na frente" é comumente conhecida como "sempre em cima") e agora você alterou seu título para o Google Chrome depois de receber respostas . De qualquer forma, você está sempre livre para reverter e fico feliz por ter seu problema resolvido. Além disso, o SetWindowPos seria acionado antes que o problema ocorresse ou outro procedimento semelhante que tivesse o mesmo efeito poderia ser chamado ... :-)
Tamara Wijsman
4

Para desativar isso, você deve pressionar

ALT + Espaço + C

alt+ space+c

Depois de pressionar esses botões, o navegador Google Chrome será fechado automaticamente. Em seguida, inicie novamente o navegador Google Chrome.

O problema será resolvido para sempre :)

Firefog
fonte
O ALT + Space + C fechou meu navegador e resolveu o problema. Eu tive que voltar aqui para votar sua resposta.
Oscar Fraxedas
1
Essa é a única coisa que resolveu meu problema.
ddonche
1

Também tenho esse problema e encontre uma maneira de contorná-lo. Eu instalei o software "Always on Top" .

E eu uso no Chrome para Windows, que mudou o estado da propriedade alwaysontop.

Jaime Alves
fonte
0

Uma solução rápida é clicar duas vezes no botão 'show desktop' no lado direito da barra de tarefas no Windows 7/8 / 8.1

Vnay
fonte
1
Como está escrito, sua resposta fornece muito pouca informação útil. Você pode expandi-lo um pouco?
bwDraco
0

Eu tive esse mesmo problema e consegui corrigi-lo, indo para "Alternar usuário" no menu Iniciar e depois de fazer o login novamente nas janelas, respeitamos a barra de ferramentas novamente. Parecia afetar todas as janelas e, embora o chrome pudesse ser uma causa, definitivamente parecia afetar o sistema Windows inteiro, sugerindo um possível culpado no próprio Windows. A publicação deste post foi realizada após o primeiro contato com o problema, após 5 anos de usuário do Chrome no Windows XP e 7.

Leviscus Tempris
fonte
0

Bem, eu tive o mesmo problema, e tocar duas vezes em F11 não resolveu nada. Mas eu vi, desde que eu tinha duas janelas do Google Chrome abertas, que apenas uma delas estava em cima de todas as outras janelas que eu tinha (Steam, Notepad, etc.). Peguei uma das guias sempre no topo e fiz uma nova janela com ela e depois todas as outras guias da janela superior para a nova. Agora, toda janela aparece no topo quando eu a seleciono, como normal.

Espero que isso possa ajudar :)

Heltsuki
fonte
-3

Abra o Chrome e pressione ALT + Space + C

Gustavo
fonte
3
O OP não está perguntando como fechar a janela do Chrome.
Anthony G - Justice para Monica