AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1434417
Accepted
Pate
Pate
Asked: 2019-05-09 04:46:32 +0800 CST2019-05-09 04:46:32 +0800 CST 2019-05-09 04:46:32 +0800 CST

Por que o layout do aplicativo Win16 está se comportando de maneira estranha no Win10 32 bits?

  • 772

Eu tenho um aplicativo C Win16 antigo que está se comportando mal quando executado no Windows 10 de 32 bits. Infelizmente, não tenho o código-fonte do aplicativo, portanto não posso depurar problemas a partir dele. O aplicativo estava funcionando normalmente no Windows 7, mas no Windows 10, ele inicia usando o NTVDM, mas por algum motivo a GUI apresenta os seguintes problemas:

Problema 1. O aplicativo abre uma caixa de diálogo pop-up quando é iniciado. A interação do mouse funciona para que eu possa arrastar a caixa de diálogo pop-up pela janela do aplicativo, mas o pop-up em si não tem foco e não consigo clicar em nenhum dos botões ou inserir texto na caixa de diálogo. Ainda posso usar Alt+F para acessar o menu Arquivo na barra superior do aplicativo enquanto o pop-up está aberto.

Problema 2. O aplicativo também pode ser configurado para abrir sem a janela pop-up. Nesse caso, a barra de menu superior e as barras de status são exibidas fora do lugar e não respondem a nenhuma entrada do teclado.

Em ambos os casos, clicar nos botões da janela principal do aplicativo não faz nada e preciso usar o gerenciador de tarefas para matar o ntvdm.exe para fechar o aplicativo.

Até agora, tentei diferentes configurações de modo de compatibilidade, bem como tentei executar o aplicativo com um VDM alternativo (WineVDM). O modo de compatibilidade não faz nada e o aplicativo é iniciado usando o WineVDM, mas apresenta os mesmos problemas de layout que o uso do NTVDM. Isso parece indicar que o problema não está no VDM, mas tem mais a ver com as diferenças de renderização de gráficos herdados entre o Win7 e o Win10.

O que devo tentar a seguir? Existe uma maneira de identificar qual estrutura de GUI foi usada?

Edit: Atualmente, estou executando isso em uma máquina virtual "Win10 32bit" dentro de uma máquina Windows 10 de 64 bits e o adaptador de vídeo é atualmente "Microsoft Hyper-V Video". Tentei mudar isso para "Microsoft Basic Display Adapter", mas isso não ajudou.

Edit2: Leia em algum lugar que a atualização dos criadores do Win10 quebrou os aplicativos GDI testados com uma versão anterior do Windows (1607). Portanto, a pergunta realmente muda para "como posso fazer com que os aplicativos GDI sejam executados corretamente após a atualização dos criadores".

windows-10 compatibility
  • 1 1 respostas
  • 200 Views

1 respostas

  • Voted
  1. Best Answer
    Pate
    2019-06-07T02:54:15+08:002019-06-07T02:54:15+08:00

    Não encontrei uma maneira de corrigir os problemas de layout, mas furtunately consegui contorná-los.

    Em algum momento durante o estudo, descobri que as pessoas tiveram problemas com aplicativos renderizados GDI após a atualização do Windows 10 Creators de 2017 (versão 1703). O desempenho da renderização da fonte foi afetado de alguma forma e as pessoas também tiveram outros problemas. Um estudo mais aprofundado revelou que na versão 1703, a Microsoft fez algumas grandes alterações no Desktop Window Manager (DWM) que controla como os aplicativos são desenhados na tela. Com o DWM, os aplicativos desenha seu conteúdo em um buffer de memória separado para cada aplicativo e que é usado, por exemplo, para exibir as miniaturas da barra de ferramentas em tempo real em aplicativos modernos do Windows. A maneira antiga é que o aplicativo desenhe diretamente no buffer da tela. A atualização 1703 impossibilitou a desativação do DWM para qualquer aplicativo e rejeitou partes da API usadas para controlá-lo separadamente para cada aplicativo.

    Testei o aplicativo problemático com a Atualização de Aniversário do Windows 10 (versão 1607) e funcionou! Os problemas de layout indutores de puxão de cabelo desapareceram e o aplicativo funcionou como um encanto. O problema, claro, é que a versão 1607 do Windows 10 tem uma janela de suporte ainda mais curta do que a versão mais recente do Windows 7. Felizmente, a Microsoft oferece a opção de usar ramificações de suporte de longo prazo para suas edições do Windows Enterprise e essas refletem o status do “ normal” lançamento do mesmo ano. Testei com o Windows 10 Enterprise 2016 LTSB edição que estendeu o suporte até 2026 – e o aplicativo funcionou!

    Caso encerrado por enquanto.

    • 0

relate perguntas

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • atalho do shell da área de trabalho no painel lateral do explorer

  • Por que não consigo enviar arquivos do Android para o Windows 10?

  • Abrir com em vários arquivos?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve