Réponses:
J'aime la console , elle prend en charge la transparence ainsi que les invites de commande à onglets.
Si vous recherchez un effet aéro vitreux, vous pouvez utiliser Glass CMD .
Pour rendre transparentes toutes vos fenêtres cmd et powershell en cours d'exécution, exécutez-la dans un terminal powershell (les fenêtres ouvertes après avoir exécuté ceci, ne seront pas transparentes et votre système ne sera pas modifié):
$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)}
Pour rendre vos fenêtres de terminal PowerShell toujours transparentes (cela modifie votre fichier de profil PowerShell spécifique à l'utilisateur):
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 }'
Jetez un œil à PowerCmd, voir aussi Émulateur de terminal avec volets fractionnés pour Windows 7 (64 bits)