Eu gosto do Console que suporta transparência, bem como prompts de comando com guias.
É possível ter uma janela de prompt de comando ligeiramente transparente no Vista ou no Windows 7?
Existem alternativas de terceiros?
Eu gosto do Console que suporta transparência, bem como prompts de comando com guias.
Se você está procurando um efeito vítreo e aerodinâmico, pode usar Glass CMD .
Para tornar transparentes todas as janelas cmd e powershell atualmente em execução, execute-as em um terminal PowerShell (as janelas abertas depois de você executar isso, não serão transparentes e seu sistema não será modificado):
$user32 = Add-Type -Name User32 -Namespace Win32 -PassThru -MemberDefinition '[DllImport("user32.dll")]public static extern int GetWindowLong(IntPtr hWnd, int nIndex);[DllImport("user32.dll")]public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);[DllImport("user32.dll", SetLastError = true)]public static extern bool SetLayeredWindowAttributes(IntPtr hWnd, uint crKey, int bAlpha, uint dwFlags);'
Get-Process | Where-Object { @('powershell', 'cmd') -contains $_.ProcessName } | % {$user32::SetWindowLong($_.MainWindowHandle, -20, ($user32::GetWindowLong($_.MainWindowHandle, -20) -bor 0x80000));$user32::SetLayeredWindowAttributes($_.MainWindowHandle, 0, 200, 0x02)}
Para tornar as janelas do terminal PowerShell sempre transparentes (isso altera o arquivo de perfil do powershell específico do usuário):
if (-not Test-Path -Path $profile) { New-Item -path $profile -type file -force }
Add-Content -Path $profile -Value '$user32 = Add-Type -Name ''User32'' -Namespace ''Win32'' -PassThru -MemberDefinition ''[DllImport("user32.dll")]public static extern int GetWindowLong(IntPtr hWnd, int nIndex);[DllImport("user32.dll")]public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);[DllImport("user32.dll", SetLastError = true)]public static extern bool SetLayeredWindowAttributes(IntPtr hWnd, uint crKey, int bAlpha, uint dwFlags);'''
Add-Content -Path $profile -Value 'Get-Process | Where-Object { @(''powershell'', ''cmd'') -contains $_.ProcessName } | % { $user32::SetWindowLong($_.MainWindowHandle, -20, ($user32::GetWindowLong($_.MainWindowHandle, -20) -bor 0x80000)) | Out-Null;$user32::SetLayeredWindowAttributes($_.MainWindowHandle, 0, 200, 0x02) | Out-Null }'
Existem mais utilitários "aplique a transparência a qualquer janela aleatória" disponíveis do que você pode agitar uma vara em. Google até um e dar-lhe uma chance. Você pode ajustar a transparência em praticamente qualquer janela, incluindo consoles.
Dê uma olhada no PowerCmd, veja também Terminal emulador com painéis divididos para o Windows 7 (64 bits)