【WPF】鼠标穿透窗口(类似于桌面歌词那样子)
复制粘贴,能跑就行。
using System.Windows.Interop;
using System.Runtime.InteropServices;
public MainWindow()
{InitializeComponent();IntPtr hwnd = new WindowInteropHelper(this).Handle;SetWindowLong(hwnd, (-20),0x20);
}[DllImport("user32", EntryPoint = "SetWindowLong")]
private static extern uint SetWindowLong(IntPtr hwnd, int nIndex, int NewLong);
利用SetWindowLong函数给窗口添加一个拓展样式WS_EX_TRANSPARENT,常量值为0x20,作用(机器翻译):用此参数创建的的窗口在他同一线程的窗口被绘制前将不会被绘制.这个窗口透明的显示,因为同一线程的窗口已经绘制出来。
如果是子窗口需要添加这个样式,在SetWindowLong之前需要this.Show();不然设置了没效果。子窗口代码:
InitializeComponent();
Show();
IntPtr hwnd = new WindowInteropHelper(this).Handle;
SetWindowLong(hwnd, (-20),0x20);
Hide();
【WPF】鼠标穿透窗口(类似于桌面歌词那样子)相关推荐
- [随笔]关于如何实现鼠标穿透窗口和窗口半透明
资料准备 WS_EX_TRANSPARENT | WS_EX_LAYERED WM_NCHITTEST & return HTTRANSPARENT SetLayeredWindowAttri ...
- Simple WPF:实现一个透明、无边框、鼠标穿透的WPF窗体
WPF 透明窗体和鼠标事件穿透 一个自定义WPF窗体的解决方案,借鉴了吕毅老师的WPF制作高性能的透明背景的异形窗口一文,并在此基础上增加了鼠标穿透的功能.可以使得透明窗体的鼠标事件穿透到下层,在下层 ...
- winform和wpf如何实现鼠标穿透的效果
先看一下鼠标穿透的效果: 可以看到Form1这个程序虽然遮在了桌面的上面,但是我们还可以在窗体上点击桌面上的必应词典和网易邮箱大师,好像这个叫"Form1"的窗口被"穿透 ...
- C#使用Windows API实现桌面上的遮罩层(鼠标穿透)
C#实现实现桌面上的遮罩层(鼠标穿透)主要通过一下几个API函数来实现:GetWindowLong,SetWindowLong,SetLayeredWindowAttributes.其中有一个Wind ...
- VC++ SetLayeredWindowAttributes 部分窗口透明鼠标穿透
在初始化中使用下面两行代码 ModifyStyleEx(0, WS_EX_LAYERED); ::SetLayeredWindowAttributes(m_hWnd, RGB(1, 255, 0), ...
- WPF 程序鼠标在窗口之外的时候,控件拿到的鼠标位置在哪里?
在 WPF 程序中,我们有 Mouse.GetPosition(IInputElement relativeTo) 方法可以拿到鼠标当前相对于某个 WPF 控件的位置,也可以通过在 MouseMove ...
- javaFx实现鼠标穿透画布,同时操作画布和桌面,背景透明,类似ppt批注
系列文章专栏:javafx图形绘制.桌面录屏录音源码合集 目录 一.实现的功能和效果 二.程序实现 三.总结 一.实现的功能和效果 今天,我们要用javaFx来实现一个鼠标穿透画布的功能,该需求来自于 ...
- Delphi以GDI+制作桌面歌词效果
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在Win ...
- GDIPlus绘制桌面歌词
功能介绍 采用GDIPlus绘制桌面歌词,类似酷狗.QQ音乐等软件. 歌词支持纯色.两色渐变.三色渐变:支持高亮歌词. 实现方法 窗口部分:桌面歌词是个独立的背景透明窗口,可以移动位置,可以鼠标穿透. ...
- WPF绘制自定义窗口
原文:WPF绘制自定义窗口 WPF是制作界面的一大利器,下面就用WPF模拟一下360的软件管理界面,360软件管理界面如下: 界面不难,主要有如下几个要素: 窗体的圆角 自定义标题栏及按钮 自定义状态 ...
最新文章
- 高效程序员的 7 个共同特征
- Cocos2d-x坐标系介绍
- eclipse 导入myeclipse web项目
- mysql存储过程into_MySQL存储过程中使用SELECT …INTO语句为变量赋值
- ef ddl生成不了脚本_如何使用Hibernate从Play生成DDL脚本! 框架项目
- React开发(244):dva概念8router
- 你确定自己不是那只猫吗
- python全栈计划_Python 全栈学习视频教程,包含了从 0-99天的全栈学习计划,估计可以学习 1024 小时。...
- Jmeter接口测试实例图文示例
- CactiEZ中文版说明
- 【图像分割】基于matlab分水岭算法图像分割【含Matlab源码 390期】
- 综合布线系统计算机网络,综合布线 计算机网络系统
- 自媒体原创度检测工具有哪些?这几个可以免费用
- 更新显卡驱动后,Windows重启卡在Logo页面
- 舆情分析报告写作的架构与方法|下
- 开源项目-CRM客户关系管理系统
- 专升本第一讲(计算机的“前世今生”)
- imx8的源码开发方式非yocto方式(三)——基于imx8的firmware-imx固件包下载与解压
- 脚本循环ping所有网段
- 常用的python标准库有哪些?
热门文章
- 循环删除list中多个元素
- Delete `␍`eslintprettier/prettier
- php 和 java_Java和php怎么选择??
- oracle的用户和mysql的用户_oracle数据库的用户以及表空间
- 四线温度探头怎么接线_热电阻的接线方式
- 风变编程python第一关_风变编程python学习心得
- 黑苹果内置硬盘识别成外置硬盘_压倒U盘最后一根稻草?ORICO iMatch移动固态硬盘体验...
- html调用js文件函数_函数式编程中的战斗机(三)--elm调用javascript的flags方式
- IOS-播放器开发(1)-视频基本原理
- linux web部署命令简单记录