Transparent Command Prompt in Vista?

8

1

Is it possible to have a slightly transparent command prompt window in Vista or Windows 7?

Are they any 3rd party alternatives?

duckworth

Posted 2009-07-15T19:15:18.460

Reputation: 869

Answers

11

I like Console, It supports transparency as well as tabbed command prompts.

TroyC

Posted 2009-07-15T19:15:18.460

Reputation: 256

@Oscar Reyes - I have Console 2.0+ configured to do what you want. – Umber Ferrule – 2010-03-11T21:23:12.333

Console is an awesome program. Strongly recommended. – Weegee – 2009-07-16T03:52:00.200

Cool, it looks like it has some recent activity. Last time I checked I thought it was a dead project. – duckworth – 2009-07-16T13:30:58.693

I tried a couple of ... hours, and didn't quite like it. I think it was the lack of "select+enter" to copy & right button to paste which make me abandon it . – OscarRyz – 2009-07-16T20:22:38.290

Tried this on Vista64, no text appears in the console. I can type, and it moves the cursor as if text is there, but nothing is visibly changing. – Sampson – 2009-07-17T15:38:29.207

3

If you're looking for a glassy, aero effect, you can use Glass CMD.

Cristián Romo

Posted 2009-07-15T19:15:18.460

Reputation: 525

Does it support "quick edit mode" ( select + enter to copy, right click to paste? ) – OscarRyz – 2009-07-16T20:26:21.853

It should, it's just modifying the properties of a regular console window. Let me make sure... Yes, it does. – Cristián Romo – 2009-07-16T20:52:31.183

1

To make all your currently running cmd and powershell windows transparent, run this in a powershell terminal (windows opened after you run this, will not be transparent and your system will not be modified):

$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)}

To make your powershell terminal windows always transparent (this alters your user-specific powershell profile file):

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

Posted 2009-07-15T19:15:18.460

Reputation: 457

0

There are more "apply transparency to any random window" utilities available than you can shake a stick at. Google up one and give it a shot. You can adjust the transparency on pretty much any window, including consoles.

Goyuix

Posted 2009-07-15T19:15:18.460

Reputation: 6 021

0

Mason Zhang

Posted 2009-07-15T19:15:18.460

Reputation: 101