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