当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-23

    本文导语:  同样该功能需要加载命名空间 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);...

同样该功能需要加载命名空间

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
        );

        ///
        /// 设置窗体具有鼠标穿透效果
        ///
        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#获取鼠标相对当前窗口坐标的实现方法
  • C# 获取鼠标相对当前窗口坐标的方法
  • C#实现随鼠标移动窗体实例
  • C#切换鼠标左右键习惯无需控制面板中修改
  • 浅析c#中如何在form的webbrowser控件中获得鼠标坐标
  • C# 禁用鼠标中间键的方法
  • C#添加鼠标右键菜单的方法介绍
  • C# WinForm中Panel实现用鼠标操作滚动条的实例方法
  • C#实现获取鼠标句柄的方法
  • 用C# 实现鼠标框选效果的实现代码
  • 解决C# winForm自定义鼠标样式的两种实现方法详解
  • C#中winform实现自动触发鼠标、键盘事件的方法
  • c# 全局鼠标钩子的实现代码
  • C# SendInput 模拟鼠标操作的实现方法
  • c#打印预览控件中实现用鼠标移动页面功能代码分享
  • 在QT中怎样能够让窗体关闭当鼠标在窗体外点击
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • usb光电鼠标在安装redhat9时应选择哪种鼠标类型?
  • 我的鼠标时usb接口并且是光电3键鼠标,请问如何在redhat9下使用?
  • 图形界面中如何发送鼠标事件/信号,来模拟鼠标动作
  • HTML教程 iis7站长之家
  • unix下鼠标使用很别扭。没有windows下流畅,感觉鼠标每次移动很多个像素,间距很大。怎么回事?
  • 请问一下,安装FreeBSD的时候,我得键盘和鼠标都是USB口的,安装的时候找不到鼠标和键盘怎么办?急!
  • 图形方式使用鼠标的dos程序,在Win98下可以正常显示鼠标光标,而Win2000下不行,有办法吗
  • 完了!linux下删除鼠标竟然使windows2000检测不到鼠标?!解决了给分!!!
  • 系统RESET后,我的鼠标就找不到了!然后我想到重新安装,可是安装向导也找不到我的鼠标了!请问我该怎么办?谢谢!
  • 当鼠标置于按钮上时如何改变鼠标形状,比如由常规形状变为hand形状?
  • linux启动时就设置进入图形模式(不是加载X-Window),但这个模式下,如果响应鼠标和键盘事件(可以响应所有键值和鼠标按键)!
  • 事件能传递吗,就是子类触发了一个鼠标事件,能不能也将这个鼠标事件发给父类
  • 请问linux中如何快速获得鼠标数据(主要是鼠标位置坐标)
  • 我用JBUILDER作的JPUPUPMEUN show(jpane,getx,gety) 的显示位置老在鼠标下一大截,在JPANE的左上角击鼠标右键出现多余显示
  • applet中如何实现鼠标移到某个区域时,鼠标形状换成手形。就好像超链接一样!
  • GUI界面中鼠标问题
  • linux鼠标不能用!!!!!!
  • 当你神经紧张时,就不用脑子去狂点鼠标,看看你15秒内能点几下鼠标,事先声明,鼠标坏了可别找我啊
  • 命令行换到 xwin鼠标后不能用了
  • 鼠标不能用,主板问题吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3