C# 鼠标穿透窗体功能
2013-10-06 10:33
351 查看
通过以下代码,在窗体启动后调用方法SetPenetrate() 即可实现窗体的穿透功能。
同样该功能需要加载命名空间
using System.Runtime.InteropServices;
View Code
原文地址:http://bbs.csdn.net/topics/390325341
同样该功能需要加载命名空间
using System.Runtime.InteropServices;
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> /// 设置窗体具有鼠标穿透效果 /// </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); }
View Code
原文地址:http://bbs.csdn.net/topics/390325341
相关文章推荐
- C# 鼠标穿透窗体功能的实现方法
- 用C#写依附于桌面的透明带鼠标穿透窗体的总结。
- C# Winform 窗体美化(五、鼠标穿透)
- 实现“鼠标穿透窗体”功能
- C#制作鼠标可以穿透的窗体
- C# 鼠标穿透窗体与恢复
- c# 鼠标穿透窗体 张宇轩
- C#制作鼠标可以穿透的窗体
- C#鼠标穿透功能
- C#鼠标穿透功能
- C# 鼠标穿透功能
- C#窗体设计------鼠标穿透窗体
- C#鼠标穿透功能
- C#无标题栏窗体鼠标拖动
- C#窗体dataGridView控件鼠标双击显示信息
- c#实现随鼠标移动窗体
- 在C#中 从一个picturebox中 按住鼠标左键不放 画一块区域后,另外一个picturebox(在一个winform 窗体上有两个picturebox )上马上把对应的截取图像显示出来
- C#窗体越界时鼠标还能回到初始坐标位置
- C#: Windows 窗体还原功能的实现
- C# 令某个窗体可跟着鼠标移动