如何在不破坏透明度的情况下使活动窗口在Windows 7上更加明显?


14

自从我开始使用Windows 7以来,我注意到我不小心在错误的窗口中输入的频率比以前更多。

使用Aero主题,具有主动对焦的窗口和所有其他窗口之间的视觉差异非常微妙。只有“最小化”,“最大化/还原”和“关闭”按钮变为稳定状态,仅留下窗口边框和标题栏,以使焦点变暗,从而发出焦点信号。当应用全屏显示时,除了标题栏装饰之外,所有内容都会丢失;如果您使用的是诸如Firefox这样的标题栏窃取应用程序,则甚至会失去视觉提示。

我尝试过使用“窗口颜色和外观”页面上的设置,但是禁用透明度会消除Aero界面的许多美感。设置“颜色饱和度”,以获得最大的一些方式,但仍然不离开活动窗口显而易见的。

传统的做法是,在“高级外观设置...”页面上设置“活动标题栏”的颜色,因为航空主题会忽略此设置,因此它不再起作用。

因此,有什么方法可以使我的活动窗口在Windows 7上更加明显,而又不会丢失很多使Aero变得漂亮的东西吗?

如何使盲目地知道哪个窗口是活动的相关但不尽相同。


如果您将色彩强度,饱和度和亮度提高到最大程度会怎样?您可能也想调整色相。
and31415 2014年

我已经尝试了所有@ and31415,但是它几乎以相同的方式更改了所有窗口,因此聚焦窗口和未聚焦窗口之间的对比度没有增加。
Mark Booth 2014年

Answers:


3

这是许多人面临的难题之一。

有人对此感到非常困扰,以至于他们创造了一种风格并砍下了更好的对比。您可以在Windows 7论坛的“已解决-激活和不激活的窗口”一文中下载该样式,这些窗口在Aero中也是如此

万一链接消失,可以在Wayback Machine上找到副本。


感谢您指出该讨论。它提供了一些示例样式,并指出了如何制作自己的样式。真好!
gwideman 2014年

1
感谢您的回答@LPChip,但是,如果您可以总结链接的内容,那么如果链接消失了,我们将不会丢失其中包含的信息。
Mark Booth 2014年

链接的内容包含太多信息,无法简单地对其进行总结。基本上,它讨论了编辑msstyles页面的技术,并提供了指向自定义msstyles的下载链接,因此您不必自己对其进行修改。回溯机链接将提供该主题的存档。
LPChip

这正是问题所在,有关该论坛主题的详尽总结要比指向该主题的链接有用得多。这就是为什么我将Bounty授予harymc的原因,因为这是唯一的自包含答案,但您还是可以接受的,因为这是更优雅,更漂亮的解决方案,即使它并不完整。
Mark Booth

5

脚本一文中介绍了用于非最大化窗口的AutoHotkey解决方案,该方法
使用autohotkey在活动窗口周围绘制边框

以下脚本是根据该文章改编的,它将在活动窗口周围绘制一个5像素的红色边框:

#Persistent

SetTimer, DrawRect, 50
border_thickness = 5
border_color = FF0000

DrawRect:
WinGetPos, x, y, w, h, A
Gui, +Lastfound +AlwaysOnTop +Toolwindow
iw:= w+4
ih:= h + 4
w:=w+ 8
h:=h + 8
x:= x - border_thickness
y:= y - border_thickness
Gui, Color, FF0000
Gui, -Caption
WinSet, Region, 0-0 %w%-0 %w%-%h% 0-%h% 0-0 %border_thickness%-%border_thickness% %iw%-%border_thickness% %iw%-%ih% %border_thickness%-%ih% %border_thickness%-%border_thickness%
Gui, Show, w%w% h%h% x%x% y%y% NoActivate, Table awaiting Action
return

1

这是对以上来自harrymc的AutoHotkey脚本的一点更新/更改,该脚本是14年8月8日在7:17回答的。非常感谢。我添加了一个异常处理程序,并且不能最大化使用Windows:

#Persistent
#SingleInstance,force
SetTimer, DrawRect, 50
border_thickness = 6
border_color = FF0000
DrawRect:
WinGetPos, x, y, w, h, A
WinGet, OutputVar , MinMax, A
; make maximized windows movable
; -1: The window is minimized (WinRestore can unminimize it).
;  1: The window 
; is maximized (WinRestore can unmaximize it).
;0: The window is neither minimized nor maximized.
if(OutputVar == 1){
   WinGetPos,x,y,w,h
   WinRestore,A
   Sleep,500
   WinMove,A,,% x + 3, % y + 3, % A_ScreenWidth - 199, % A_ScreenHeight - 199
 }
Gui, +Lastfound +AlwaysOnTop +Toolwindow
iw:= w+4
ih:= h + 4
w:=w+ 8
h:=h + 8
x:= x - border_thickness
y:= y - border_thickness
Gui, Color, FF0000
Gui, -Caption
WinSet, Region, 0-0 %w%-0 %w%-%h% 0-%h% 0-0 %border_thickness%-%border_thickness% %iw%-%border_thickness% %iw%-%ih% %border_thickness%-%ih% %border_thickness%-%border_thickness%
try{
Gui, Show, w%w% h%h% x%x% y%y% NoActivate, Table awaiting Action
     } catch {
        Sleep,2000
     }
return

要解释这些变化:当我关闭google chrome中的标签时,通过Control + w分布在4个监视器上,有时我关闭了错误的监视器。昨天在此页面上搜索并找到了解决方案。几分钟后,打开记事本++的“另存为”窗口时出现异常。现在,通过try,catch块拦截了此异常。另外,我还有一个问题,就是在最大化窗口上看不到红色框,因此我在“ if(OutputVar == 1){...”内还原了最大化窗口。


您能解释一下这些变化吗?为什么?
多托

当我关闭Google Chrome浏览器中的标签时,通过Control + w分布在我的4台显示器上,有时我关闭了错误的显示器。昨天在此页面上搜索并找到了解决方案。几分钟后,当我打开记事本++的“另存为”窗口时,我得到了启发。现在可以通过try,catch块拦截该实例。另外,我还有一个问题,就是在最大化窗口上没有看到红色框,因此我在“ if(OutputVar == 1){...”内还原了最大化窗口。
SL5net

1
原始脚本对我来说是错误的,但是我发现添加的try / catch块很有帮助。
notAlex

0

您来对地方了,您只需要更深入一点即可。

在“窗口颜色和外观”页面上,选择“高级外观设置”。

在新窗口的下拉菜单中,您有2个选项可以使活动窗口更加突出。活动标题栏和活动窗口边框。您可以详细了解如何使其脱颖而出。


1
如果您在回答之前先阅读了问题,将会很有帮助。我已经提到了该选项(第4款)。当应用程序全屏显示时,没有窗口边框,仅当您选择非航空主题并因此禁用透明度时,它才有效。
马克·布斯2014年

是的,我确实很想念。我很抱歉。
bigpoppasmooth,2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.