8

Возможно ли иметь слегка прозрачное окно командной строки в Vista или Windows 7?

Это какие-нибудь сторонние альтернативы?

5 ответов5

11

Мне нравится Консоль, она поддерживает прозрачность, а также командные строки с вкладками.

3

Если вы ищете стеклянный аэроэффект, вы можете использовать Glass CMD.

1

Чтобы сделать все ваши текущие окна cmd и powershell прозрачными, запустите их в терминале powershell (окна, открытые после запуска, не будут прозрачными и ваша система не будет изменена):

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

Чтобы сделать окна терминала powershell всегда прозрачными (это изменит ваш пользовательский файл профиля powershell):

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 }'
0

Взгляните на PowerCmd, см. Также Эмулятор терминала с разделенными панелями для Windows 7 (64 бит)

0

Существует больше утилит "применить прозрачность к любому случайному окну", чем вы можете потрясти палкой. Google до одного и дать ему шанс. Вы можете настроить прозрачность практически в любом окне, включая консоли.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .