C# 鼠標(biāo)穿透窗體功能的實現(xiàn)方法
更新時間:2013年10月08日 14:47:43 作者:
通過以下代碼,在窗體啟動后調(diào)用方法SetPenetrate() 即可實現(xiàn)窗體的穿透功能,有需要的朋友可以參考一下
同樣該功能需要加載命名空間
using System.Runtime.InteropServices;
復(fù)制代碼 代碼如下:
private const uint WS_EX_LAYERED = 0x80000;
private const int WS_EX_TRANSPARENT = 0x20;
private const int GWL_STYLE = (-16);
private const int GWL_EXSTYLE = (-20);
private const int LWA_ALPHA = 0;
[DllImport("user32", EntryPoint = "SetWindowLong")]
private static extern uint SetWindowLong(
IntPtr hwnd,
int nIndex,
uint dwNewLong
);
[DllImport("user32", EntryPoint = "GetWindowLong")]
private static extern uint GetWindowLong(
IntPtr hwnd,
int nIndex
);
[DllImport("user32", EntryPoint = "SetLayeredWindowAttributes")]
private static extern int SetLayeredWindowAttributes(
IntPtr hwnd,
int crKey,
int bAlpha,
int dwFlags
);
/// <summary>
/// 設(shè)置窗體具有鼠標(biāo)穿透效果
/// </summary>
public void SetPenetrate()
{
GetWindowLong(this.Handle, GWL_EXSTYLE);
SetWindowLong(this.Handle, GWL_EXSTYLE, WS_EX_TRANSPARENT | WS_EX_LAYERED);
SetLayeredWindowAttributes(this.Handle, 0, 100, LWA_ALPHA);
}
您可能感興趣的文章:
- C#實現(xiàn)圖表中鼠標(biāo)移動并顯示數(shù)據(jù)
- C#簡單獲取全屏中鼠標(biāo)焦點位置坐標(biāo)的方法示例
- C#實現(xiàn)的鼠標(biāo)鉤子
- C#鍵盤鼠標(biāo)鉤子實例
- C#實現(xiàn)鼠標(biāo)移動到曲線圖上顯示值的方法
- C#實現(xiàn)隨鼠標(biāo)移動窗體實例
- C#實現(xiàn)獲取鼠標(biāo)句柄的方法
- C#中winform實現(xiàn)自動觸發(fā)鼠標(biāo)、鍵盤事件的方法
- 解決C#獲取鼠標(biāo)相對當(dāng)前窗口坐標(biāo)的實現(xiàn)方法
- 用C# 實現(xiàn)鼠標(biāo)框選效果的實現(xiàn)代碼
- C# 禁用鼠標(biāo)中間鍵的方法
- C#實現(xiàn)鼠標(biāo)消息捕獲
相關(guān)文章
C#中Task.ContinueWith連續(xù)任務(wù)使用實例
本文主要介紹了C#中Task.ContinueWith連續(xù)任務(wù)使用實例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
C# .net core HttpClientFactory用法及說明
這篇文章主要介紹了C# .net core HttpClientFactory用法及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
Winform窗體縮放下使用剪切板功能出現(xiàn)頁面閃動解決分析
這篇文章主要介紹了Winform窗體縮放下使用剪切板功能出現(xiàn)頁面閃動解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11

