Como posso parar o reposicionamento de janelas depois de acordar do sono?

99

Eu coloco meu sistema multi-monitor para dormir quando não está em uso. Depois que eu o acordo, todas as janelas são reposicionadas em uma tela diferente. O padrão mais próximo que consigo pensar é que as janelas que estavam lá na tela principal mudam para a segunda tela. Parece que ele desconecta a tela principal antes de entrar no modo de suspensão, o que, por sua vez, alterna todas as janelas para a segunda ou terceira tela.

Editar: aqui está a placa de vídeo que estou usando - > SAPPHIRE FleX 100322FLEX Radeon HD 6450

    
por Kingamoon 25.07.2012 / 17:15

10 respostas

30

O problema é mais provável com o driver gráfico. Sempre que um único monitor é desconectado de uma configuração multimonitor no Windows, o Windows tentará mover tudo dessa tela para a (s) tela (s) restante (s). Geralmente, isso não ocorrerá ao suspender / hibernar / desligar o computador. Assim, provavelmente é por causa do driver gráfico que faz um dos seguintes:

  • 'Desconectando' os monitores quando você coloca o computador em repouso, portanto, quando o Windows for despertado, ele deverá determinar novamente onde colocar tudo.
  • Reconhecendo os monitores em uma ordem diferente a cada vez que você coloca o computador fora do modo de suspensão, forçando o Windows a reorganizar as janelas do aplicativo.

Verifique se há uma atualização para o seu driver gráfico acessando o site do fabricante do chipset.

    
por 25.07.2012 / 20:55
40

Essa é uma pergunta antiga, mas se alguém chegar aqui com o mesmo problema, sugiro tentar a solução postada aqui:

link

Estou executando o Windows 8.1 com dois monitores de 2560 x 1440 no DisplayPort. Ao acordar do sono, todas as minhas janelas foram empurradas para um monitor, e algumas delas redimensionadas. Isso corrige o problema para mim; agora todas as posições e tamanhos das minhas janelas estão preservados. Aqui está o conteúdo do link relevante:

I have found a work-around. Using Sysinternals ProcessMonitor I found that Windows was accessing the following Registry path; HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration

My system had three entries; DELF003YY7707BR0MUL_30_07D7_6A^9A3774EB79DEE3E3E38496CC7DF4D936 QHD32000001_31_07D6_D5^63E1ABDD175E7871DCAEB710418A0F75 SIMULATED_8086_2A42_00000000_00020000_1010100^CDE365D1B3F0942F0CF38BFB8E127AB4

Under each is a tree called "00" two of the keys are
PrimSurfSize.cx
PrimSurfSize.cy

Under "00" was another branch also called "00" two of the keys are;
ActiveSize.cx
ActiveSize.cy

The first two of the configs (ie DELF00... & QHD3...) the above keys were 1440x900, so they were not involved.

The third (SIMULATED...) were set to 1024x768.

I changed these to 1600x900 and the problem was solved.

Further I changed resolution (via control panel) to 1920x1080, the moving/resize issue returned, but the lower right corner was set to 1600x900, ie the SIMULATED... settings.

So for some reason one of the configs does not get set correctly.

I don't know why there are three configs, I have only ever used one monitor.

    
por 06.12.2014 / 16:01
10

Se o seu computador tiver Intel HD Graphics, você precisará definir as opções de exibição de extensão (e configurações de resolução) no painel de controle de gráficos da Intel. Se você fizer isso a partir das configurações de exibição do Windows, ele será redefinido depois que você o ativar no modo de suspensão.

Aqui está uma captura de tela.

    
por 12.01.2016 / 16:18
8

Acho que encontrei uma solução alternativa para esse problema combinando as ideias de estas mensagens .

(meu PC é o Windows 10 TH2, Intel HD4600 com porta HDMI, monitor Changhong 4k)

Aqui está o procedimento.

  1. Exclua todas as entradas extras do registro em ... GraphicDrivers \ Configuration e GraphicDrivers \ Connectivity, deixando apenas a entrada correspondente ao meu monitor (MST00301 ...)

  2. Antes de colocar o monitor em repouso, basta digitar a tecla combinada "WIN" + "D" para minimizar todas as janelas da área de trabalho.

  3. Depois de ligar o monitor, digite "WIN" + "D" novamente para restaurar todas as janelas.

por 22.11.2015 / 07:14
2

O mesmo problema aqui com o Windows 8.1 e o Macbook Air 2013 (Intel HD Graphics 5000). Eu tento tudo. Finalmente fui para a Intel atualizado com os drivers mais recentes para minha placa gráfica e o problema continua. Então eu fui para a propriedade graphics, com meu segundo display ligado em Multiple Display eu escolhi 'Disconnect this display', então após o segundo display desconectado eu selecionei estender minha área de trabalho e o problema desapareceu. Espero que isso funcione para você.

    
por 18.04.2014 / 14:34
1

Normalmente, isso ocorre porque o driver gráfico não suporta adequadamente os modos de suspensão e, portanto, desabilita a capacidade de detectar uma exibição conectada quando o computador entra no modo de suspensão.

Atualize seus drivers gráficos do fabricante para resolver o problema.

Se o problema ainda não for resolvido após a atualização dos drivers, talvez seja devido a um ID de exibição (EDID) relatado de forma incomum. Normalmente você pode forçar a detecção de um monitor dentro do painel de controle do driver gráfico.

No entanto, se não estiver disponível, você pode usar a janela Resolução do Windows para detectar dispositivos enquanto o monitor estiver desconectado e, em seguida, selecionar a exibição que informará "Outro monitor não conectado" e, em Múltiplos monitores, você pode selecionar "Tente se conectar de qualquer maneira", que irá transmitir um sinal para o monitor através do tipo de porta que você selecionou (o sinal não será interativo), em seguida, conecte o monitor que deve interpretar os sinais enviados a ele corretamente.

A resolução forçada substituirá a detecção da tela e deverá persistir durante o sono.

    
por 25.07.2012 / 18:37
1

No meu caso, com três monitores de 1920x1080 organizados horizontalmente, parece ter sido corrigido indo para a chave de registro mencionada em outras respostas ( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration ), encontrando a chave começando com SIMULATED , e então alterando todos os valores de 1920 sob essa chave para 5760 (1920 vezes três, para os três monitores).

Eu estou supondo que a tecla SIMULATED é usada para quando o PC vai dormir, mas o Windows ainda precisa manter um desktop no processo de ir / retomar do sono, mesmo quando o (s) monitor (es) real (ais) podem não se reportam ainda.

    
por 24.05.2016 / 19:55
0

Para mim, a correção foi link . Resumo: Windows falha ao ler as informações EDID do monitor na ativação, e no painel de controle da Nvidia você pode salvar as informações EDID em um arquivo e configurar o PC para lê-las a partir daquele arquivo, sob a Tarefa: Estação de Trabalho, Sistema de Visualização Topologia, Fonte EDID.

Na minha visão limitada, o problema raiz pode ser a placa Nvidia, mas também o Windows, DisplayPort ou o monitor (Lenovo X1 4K)

    
por 22.02.2018 / 16:26
0

Nem todas as placas NVidia suportam a capacidade de falsificar o EDID, e não é apenas o modo de suspensão que causa esse problema. Se um monitor for desligado ou desconectado rapidamente, ele poderá causar estragos em um layout de tela cuidadosamente configurado. Como nenhuma das soluções aqui funcionou para mim, escrevi um utilitário para restaurar as posições da janela quando o número de monitores muda. Está disponível com o código-fonte aqui .

    
por 09.03.2018 / 20:27
-1

Goste ou não, mas de acordo com o problema conhecido da Dell com o link específico de monitores 4k: link Eu tive que mudar de 59 / 60Hz para 30Hz no meu 3 x Dell P2415Q 4K UHD no Intel 4600 conectado com DP / mDP estoque do monitor e me ajudou - como diz o artigo da Dell KB. Aplica-se também ao UP3214Q e ao P2715Q.

O problema não se manifestou em baixa resolução QHD Dell U2515H + mesmo vídeo / PC

A remoção de chaves de registro e as atualizações de drivers não ajudaram.

Atualização 2018/08: E a atualização da placa gráfica para a NVIDIA Quadro P600 não resolveu o problema, portanto, ficar em 30Hz.

    
por 15.03.2016 / 03:00