【补充3】关于程序标题栏图标的说明
一般程序在资源管理器中显示的静态图标,是位于其PE文件中的Icon。而程序运行起来以后,在标题栏以及任务栏按钮左侧也会有一个图标,这个即是运行时的图标,通常可以通过 SetIcon 设置这个图标,系统用这个图标绘制到标题栏上。因此,只要找到这些图标的位置,我们就可以修改标题栏和任务栏按钮上的图标。
但对有一种情况是例外的,即不是系统绘制的非客户区(NC)。例如,完全 DirectUI 的窗口,其整个窗口都是用户自己绘制的,这种窗口容易观察出来,因为这些窗口在外观上会体现的比较个性化,和系统中的统一外观有所不同。这样我们可能无法替换其“标题栏图标”,因为其可能是“伪标题栏”。用户自己绘制,当然不一定要使用一个 Icon。如果不是Icon,哪么我想很可能是使用了其他 Bitmap 图像资源,或者是从自带的一些图片文件在运行时加载的。因此这种情况下,即无法使用替换 Icon 的方式改变图标。(本质原因是因为非系统绘制)
系统标题栏的一个特征是:标题栏图标是一个点击区域,在标题栏图标上 左键 单击(或者在标题栏的非图标区域 右键 单击)会弹出系统菜单。
这个。。。
|