Invite de commande transparente dans Vista?

8

Est-il possible d'avoir une fenêtre d'invite de commande légèrement transparente dans Vista ou Windows 7?

Existe-t-il des alternatives tierces?

duckworth
la source

Réponses:

11

J'aime la console , elle prend en charge la transparence ainsi que les invites de commande à onglets.

TroyC
la source
La console est un programme génial. Fortement recommandé.
Weegee
Cool, on dirait qu'il a une activité récente. La dernière fois que j'ai vérifié, je pensais que c'était un projet mort.
duckworth
J'ai essayé quelques heures ... et je n'aimais pas vraiment ça. Je pense que c'est le manque de "select + enter" à copier & bouton droit à coller qui me fait l'abandonner.
OscarRyz
J'ai essayé cela sur Vista64, aucun texte n'apparaît dans la console. Je peux taper et cela déplace le curseur comme si du texte était là, mais rien ne change visiblement.
Sampson
@Oscar Reyes - J'ai la console 2.0+ configurée pour faire ce que vous voulez.
Umber Ferrule
3

Si vous recherchez un effet aéro vitreux, vous pouvez utiliser Glass CMD .

Cristián Romo
la source
Prend-il en charge le "mode d'édition rapide" (sélectionnez + entrez pour copier, cliquez avec le bouton droit pour coller?)
OscarRyz
Cela devrait, c'est simplement modifier les propriétés d'une fenêtre de console standard. Permettez-moi de m'assurer ... Oui, c'est le cas.
Cristián Romo
1

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 }'
grenade
la source
0

Il existe plus d'utilitaires "Appliquer la transparence à n'importe quelle fenêtre aléatoire" que vous ne pouvez en secouer un. Faites une recherche sur Google et essayez-le. Vous pouvez régler la transparence sur à peu près n'importe quelle fenêtre, y compris les consoles.

Goyuix
la source