視窗要實現半透明。首先這個視窗控制代碼得有GWL_EXSTYLE這個屬性。見 Layered Windows 說明。
如果建立的時候就沒有指定這個引數,或者不是自己的視窗,屬於不可控的情況。那麼就要手動擼上去這個屬性才能修改整體透明度。
具體實現步驟如下:
一、找到要修改的目標視窗控制代碼
FindWindowEx可以實現這個功能.
使用這個API配合視窗類名和標題,可以拿到具體的某個視窗的控制代碼。
以Win10下的資源管理器為例。按CabinetWClass這個類名去找就行了。
如果不知道怎麼檢視視窗資訊,可以參考我這個回答裡的頭一個步驟
胡大頭:如何給網易雲音樂加一個快捷鍵?
二、為窗體附加屬性
首先使用 GetWindowLong 獲取視窗的ExStyle.
然後位或運算一下
接著再用 SetWindowLong 把屬性寫回去
三、設定透明度
現在,準備工具已經就緒,你已經獲取到視窗的控制代碼,也設定好了視窗的WS_EX_LAYERED屬性。只需要使用SetLayeredWindowAttributes 設定透明度就可以了。
需要注意的是第三個引數 bAlpha 。這個引數就是是你想要設定的透明度。取值範圍0-255.
255就是完全不透明,而0則是完全透明。
最終效果就是這樣了
我寫都寫完了,點進去一看,發現題主不是程式猿。這TM就很尷尬了。
找工具的話,鑑於這幾個API自古有之,Vitrite之類的上古視窗透明度工具應該還能用。
視窗要實現半透明。首先這個視窗控制代碼得有GWL_EXSTYLE這個屬性。見 Layered Windows 說明。
如果建立的時候就沒有指定這個引數,或者不是自己的視窗,屬於不可控的情況。那麼就要手動擼上去這個屬性才能修改整體透明度。
具體實現步驟如下:
一、找到要修改的目標視窗控制代碼
FindWindowEx可以實現這個功能.
使用這個API配合視窗類名和標題,可以拿到具體的某個視窗的控制代碼。
以Win10下的資源管理器為例。按CabinetWClass這個類名去找就行了。
如果不知道怎麼檢視視窗資訊,可以參考我這個回答裡的頭一個步驟
胡大頭:如何給網易雲音樂加一個快捷鍵?
二、為窗體附加屬性
首先使用 GetWindowLong 獲取視窗的ExStyle.
然後位或運算一下
接著再用 SetWindowLong 把屬性寫回去
三、設定透明度
現在,準備工具已經就緒,你已經獲取到視窗的控制代碼,也設定好了視窗的WS_EX_LAYERED屬性。只需要使用SetLayeredWindowAttributes 設定透明度就可以了。
需要注意的是第三個引數 bAlpha 。這個引數就是是你想要設定的透明度。取值範圍0-255.
255就是完全不透明,而0則是完全透明。
最終效果就是這樣了
我寫都寫完了,點進去一看,發現題主不是程式猿。這TM就很尷尬了。
找工具的話,鑑於這幾個API自古有之,Vitrite之類的上古視窗透明度工具應該還能用。