那半截方框,不放大截图基本看不见——在窗口左边第一行的位置,露出来一个灰色小方块的一半,贴着边框。
这是给「七亿批量远程管理工具」(RdpManager)里那个 Windows 防火墙(Agent)窗做收尾时盯出来的。就是那个能一键放行端口、停用「无用端口」的小面板,平时没人细看,可它就在那儿杵着半块东西,别扭。
我一开始以为是什么主题、DPI 或者截图压缩的锅。把窗口拉大,那半截没跟着动,还是死死贴在左边第一行;换个分辨率,还在。那就不是画上去的,是有个真实控件在那儿。
顺着左边第一行往布局里找,反应过来了:那一行——「放行端口」这行——底下其实藏着一个取值框。当初排的时候,它被放到了窗口可视区域外面(坐标是负的,落在可视区左侧),但又没把它的可见属性关掉,于是它就在窗口边缘「探」出来半截,露馅了。
修法说穿了不值钱:把那个控件彻底藏起来——不是挪到窗口外面「眼不见为净」,而是真把可见性关掉,别再探回来。新人在这种地方最容易走弯路,觉得「反正看不到,放窗口外头就行」,结果它偏偏在最不起眼的边缘露一角。顺手把默认窗口尺寸收窄了一圈,原来右边空着一大片,窗口拉得比内容宽不少,看着也别扭。
同一扇窗里还有件更值得说道的事:「停用无用端口」的判定我做了收窄。
原本「无用端口」这个判断做得太宽,容易误伤。后来收紧成只认「局域网发现 / 投屏」那一类——网络发现、文件共享、AllJoyn、DIAL 投屏、播放到设备、DLNA、qWave、mDNS 这些,本机不开也不影响远程管理。而下面这些一律不碰:80 / 443 / 21,3389,Agent 自己的端口,WinRM 的 5985,Web 管理 8172,FTPS 990,还有 DHCPv6 的 546。
为什么不碰?因为停错了是要挨骂的。3389 一停,远程桌面直接进不去;WinRM 5985 和管理口 8172 停了,远程管理也跟着断;80 / 443 更不用说。七亿批量远程管理工具里这类「自作聪明帮你清理」的功能,最怕的就是把用户正用着的东西当垃圾扫掉——宁可少停一个,也别停错一个。
同一扇窗口后来还出过一个更隐蔽的坑,「限 IP 访问」的状态没管住:设限、解除的时候规则的增删没对齐,界面看着成功了、系统里其实还乱着。那种是「看不见的错」,比这半截方框难查多了。这工具本身是个 Windows 端的批量远程管理工具(七亿批量远程管理工具),防火墙只是它顺带的一个小面板;也正因为它什么都想替你干,才更容易在「状态」这种看不见的地方栽跟头。
回头看,这两件事其实是一类毛病:一个是控件「以为藏了其实没藏」,一个是规则「以为改了其实没对齐」——都是界面和真实状态之间的那点错位。界面这东西,用户只信眼睛看到的,所以它骗不得。
那半截方框改完,我盯着干干净净的左边缘看了两秒,还挺爽。这大概就是做这种小工具最朴素的一点成就感。
评论