66 lines
2.4 KiB
Markdown
66 lines
2.4 KiB
Markdown
# 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
|
|
```
|