# 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](file:///var/www/cybercore/cybercore-signer/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 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: ```powershell 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: ```powershell 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: ```powershell 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`: ```powershell 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: ```powershell java -Dcybercore.diag.no-wincert=true -jar .\cybercore-signer.jar --dev ```