Прозрачная командная строка в Vista?

3058
duckworth

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

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

8

5 ответов на вопрос

11
TroyC

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

Консоль - отличная программа. Настоятельно рекомендуется. Weegee 14 лет назад 0
Круто, похоже, у него есть недавняя активность. В прошлый раз, когда я проверял, я думал, что это был мертвый проект. duckworth 14 лет назад 0
Я попробовал пару ... часов, и мне это совсем не понравилось. Я думаю, что нехватка «select + enter» для копирования и правая кнопка для вставки заставили меня отказаться от него. OscarRyz 14 лет назад 0
Попробовал это на Vista64, в консоли нет текста. Я могу напечатать, и он перемещает курсор, как будто текст там, но ничего не меняется. Sampson 14 лет назад 0
@ Оскар Рейес - у меня Консоль 2.0+ настроена на то, что вы хотите. Umber Ferrule 14 лет назад 0
3
Cristián Romo

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

Поддерживает ли он «режим быстрого редактирования» (выберите + введите, чтобы скопировать, щелкните правой кнопкой мыши, чтобы вставить?) OscarRyz 14 лет назад 0
Это должно, это просто изменение свойств обычного консольного окна. Позвольте мне убедиться ... Да, это так. Cristián Romo 14 лет назад 0
1
grenade

Чтобы сделать все ваши текущие окна 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
Goyuix

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

0
Mason Zhang