源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# 鼠标穿透窗体功能的实现方法

  • 时间:2021-12-13 09:07 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# 鼠标穿透窗体功能的实现方法
同样该功能需要加载命名空间 using System.Runtime.InteropServices;
[u]复制代码[/u] 代码如下:
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);         }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部