2011-03-30 47 views
0

我期待擴展/覆蓋Windows 7如何繪製其標準Windows和控件。現在我正在做一些關於如何修改標準用戶界面的初步研究,以使它對我正在開發的項目更友好一些。擴展Win 7(Aero)如何繪製它的默認窗口和控件

具體我想做的是修改W7如何在Windows的周圍繪製邊框,以及如何修改窗口控制按鈕(關閉,最小化,退出等)。這旨在成爲全局更改,並會影響系統上所有窗口的繪製方式。老實說,我正在尋找與WindowBlinds的功能非常相似的功能,至少在項目的這一部分...

至於如何完成目標,我相信最好的方法是創建一個監視每個進程的服務,或者在每個進程中注入一個DLL,它將觀察其消息隊列以查看與繪製窗口有關的任何消息。然後,它會覆蓋該事件,繪製窗口(或控件)如何繪製它。

不幸的是,我對如何真正做到這一點有點粗略......有沒有人有如何最好地處理這個問題的任何建議?任何語言的例子(我可能會使用C#或C++)將不勝感激!

回答

2

沒有支持的Windows API來替換系統範圍內的窗口畫面。這樣做需要使用無證API和hacky解決方案。反過來,這類黑客可能會讓用戶的系統更加不穩定。我強烈建議不要這樣做。

如果您希望爲自己的應用程序調整視覺效果,可以使用:: DwmExtendFrameIntoClientArea來繪製自己的標題區域(例如Office)。見http://msdn.microsoft.com/en-us/library/bb688195(VS.85).aspx

Martyn