Files
cybercore-signer/docs/DIAGNOSTICO_JANELA.md

2.4 KiB

Diagnóstico: Janela Principal no Windows 11 (Bisseção e Monitoramento)

Este documento descreve o procedimento de diagnóstico para isolar a causa de ocultamento nativo da janela principal no Windows 11 ao passar o mouse.


1. Monitor Nativo Win32/DWM (scripts/diag-window.ps1)

O script scripts/diag-window.ps1 inspeciona a cada 300ms a janela nativa via P/Invoke da Win32 API e DWM:

  • IsWindowVisible: se a janela está visível perante o subsistema Win32;
  • DWMWA_CLOAKED: se o gerenciador gráfico do Windows 11 ocultou a composição;
  • IsIconic: se foi minimizada;
  • GetWindowRect: coordenadas reais (detecta se foi deslocada para fora da tela).

Como executar o monitor:

Em uma janela separada do PowerShell:

powershell -ExecutionPolicy Bypass -File .\scripts\diag-window.ps1

2. Roteiro de Bisseção (Fase 2)

Execute cada um dos comandos abaixo individualmente (garantindo antes que instâncias anteriores foram encerradas com Stop-Process -Name java -Force se necessário):

Teste A: Desativar Middleware PKCS#11 / SafeSign (aetpkss1.dll)

Isola hooks nativos do SafeSign e middlewares A3:

java -Dcybercore.diag.no-pkcs11=true -jar .\cybercore-signer.jar --dev

Se a janela NÃO sumir ao passar o mouse, a causa é o hook nativo do middleware PKCS#11.


Teste B: Plain Stage (Janela livre sem setResizable(false) e sem limites min/max)

Isola o bug de composição do DWM / Glass no Windows 11 com janelas de tamanho fixo:

java -Dcybercore.diag.plain-stage=true -jar .\cybercore-signer.jar --dev

Se a janela NÃO sumir ao passar o mouse, a causa é a restrição fixa de tamanho no Windows 11.


Teste C: Desativar Efeitos de Sombra no Mouse (-fx-effect)

Isola recálculo de dropshadow e troca de cursor:

java -Dcybercore.diag.no-effects=true -jar .\cybercore-signer.jar --dev

Teste D: Desativar Monitor Dinâmico de Smart Cards (PC/SC)

Isola threads em segundo plano de javax.smartcardio:

java -Dcybercore.diag.no-smartcard-watcher=true -jar .\cybercore-signer.jar --dev

Teste E: Desativar Windows Certificate Store (Windows-MY)

Isola inicialização de CryptoAPI / SunMSCAPI:

java -Dcybercore.diag.no-wincert=true -jar .\cybercore-signer.jar --dev