0

我希望扩展/覆盖 Windows 7 如何绘制其标准 Windows 和控件。现在,我正在对如何修改标准 UI 进行初步研究,以使其对我正在处理的项目更友好一点。

具体来说,我想做的是修改 W7 如何在其 Windows 周围绘制边框,以及如何修改窗口控制按钮(关闭、最小化、退出等)。这是一个全局更改,会影响系统上所有窗口的绘制方式。老实说,我正在寻找与 WindowBlinds 所做的非常相似的功能,至少对于项目的这一部分......

至于如何实现目标,我认为最好的做法是创建一个服务来监视每个进程,或者向每个进程注入一个 DLL,以监视其消息队列中与绘制窗口有关的任何消息。然后它将覆盖该事件,以我希望的方式绘制窗口(或控件)。

不幸的是,我对如何实际做到这一点有点粗略......有人对如何最好地解决这个问题有任何建议吗?任何语言的任何示例(我可能会使用 C# 或 C++)将不胜感激!

4

2 回答 2

2

没有支持的 Windows API 来替换系统范围的窗口视觉效果。这样做需要使用未记录的 API 和 hacky 解决方案。反过来,这些类型的黑客攻击可能会使您用户的系统更加不稳定。我强烈建议不要这样做。

如果您希望为您自己的应用程序调整视觉效果,您可以使用 ::DwmExtendFrameIntoClientArea 来允许您绘制自己的标题区域(例如,Office 所做的)。请参阅http://msdn.microsoft.com/en-us/library/bb688195(VS.85).aspx

马丁

于 2011-05-01T22:46:18.343 回答
0

您应该使用现有的主题系统,例如这个.

您也可以使用UXTheme.dll这个编辑器

于 2011-03-30T17:28:14.293 回答