无感知WPF窗口透明加穿透
- 在窗口的XAML文件中添加以下属性:
ShowInTaskbar="False"WindowStyle="None"
AllowsTransparency="True"
Background="Transparent"
window.IsHitTestVisible = false; // 设置为 false,允许鼠标事件穿透 true是正常不穿
这将使窗口不显示在任务栏上,并且不会出现在Alt+Tab切换列表中。
- 在窗口的代码中,覆盖OnSourceInitialized方法并使用Win32 API来将窗口从Alt+Tab列表中删除:
protected override void OnSourceInitialized(EventArgs e)
{
base.OnSourceInitialized(e); // Get this window's handle
IntPtr hWnd = new WindowInteropHelper(this).Handle; // Get the extended window style
int exStyle = (int)GetWindowLong(hWnd, GWL_EXSTYLE); // Set the WS_EX_TOOLWINDOW style
exStyle |= WS_EX_TOOLWINDOW;
SetWindowLong(hWnd, GWL_EXSTYLE, (IntPtr)exStyle);
} // Win32 API declarations
private const int GWL_EXSTYLE = -20;
private const int WS_EX_TOOLWINDOW = 0x80; [DllImport("user32.dll")]
private static extern IntPtr GetWindowLong(IntPtr hWnd, int nIndex); [DllImport("user32.dll")]
private static extern IntPtr SetWindowLong(IntPtr hWnd, int nIndex, IntPtr dwNewLong);
无感知WPF窗口透明加穿透的更多相关文章
- VC++ SetLayeredWindowAttributes 部分窗口透明鼠标穿透
在初始化中使用下面两行代码 ModifyStyleEx(0, WS_EX_LAYERED); ::SetLayeredWindowAttributes(m_hWnd, RGB(1, 255, 0), ...
- QT窗口置顶/真透明/背景模糊/非矩形/跳过任务栏分页器/无边框/无焦点点击/焦点穿透
qt 窗口置顶/真透明/背景模糊/非矩形/跳过任务栏分页器/无边框/无焦点点击/焦点穿透 窗口置顶qt 里是 setWindowFlags(Qt::WindowStaysOnTopHint)kde 里 ...
- ProxySQL+MGR实现读写分离和主节点故障无感知切换 - 完整操作记录
前面的文章介绍了ProxySQL用法,这里说下ProxySQL中间件针对Mysql组复制模式实现读写分离以及主节点故障时能够自动切换到新的主节点,而应用对此过程无感知的功能.Mysql组复制(MGR) ...
- 基于twemproxy和vip实现redis集群的无感知弹性扩容
目标是实现redis集群的无感知弹性扩容 关键点 1.是无感知,即对redis集群的用户来说服务ip和port保持不变 2.弹性扩容,指的是在需要时刻可以按照业务扩大redis存储容量. 1.业务场景 ...
- 无感知的用同步的代码编写方式达到异步IO的效果和性能,避免了传统异步回调所带来的离散的代码逻辑和陷入多层回调中导致代码无法维护
golang/goroutine 和 swoole/coroutine 协程性能测试对比 - Go语言中文网 - Golang中文社区 https://studygolang.com/articles ...
- WPF中动态加载XAML中的控件
原文:WPF中动态加载XAML中的控件 using System; using System.Collections.Generic; using System.Linq; using System. ...
- 自定义WPF 窗口样式
原文:自定义WPF 窗口样式 Normal 0 false 7.8 pt 0 2 false false false EN-US ZH-CN X-NONE 自定义 Window 在客户端程序中,经常需 ...
- ef core实现无感知软删除
很多web程序一般的偶不会设计真的物理删除了. 基本上都是在在数据库加一个标记,就得当作已经删除了.同时在查询的时候,过滤已经标记删除的数据 ef core实现软删除是非常简单的,直接在OnModel ...
- 巧用符号链接迁移 HDFS 数据,业务完全无感知!
问题 JuiceFS 是一个基于对象存储的分布式文件系统,在之前跟对象存储比较的文章中已经介绍了 JuiceFS 能够保证数据的强一致性和极高的读写性能,因此完全可以用来替代 HDFS.但是数据平台整 ...
- mysql 客户无感知迁移_亿级账户数据迁移,不用数据库工具还能怎么搞?
原标题:亿级账户数据迁移,不用数据库工具还能怎么搞? 背景 在阿里巴巴内部"大中台,小前台"的组织和业务体制,使前线业务更加敏捷,赋能业务积极迎接未来挑战和机遇,在阿里大中台能力建 ...
随机推荐
- websocket-sharp 实现websocket
第一步,使用VS创建一个应用程序 第二步,添加引用 websocket-sharp DLL文件,或者NuGet程序包中添加 第三部,创建Laputa 类 using WebSocketSharp; u ...
- 2021级《JAVA语言程序设计》上机考试试题3
ok,现在是学生的界面实现,因为代码上篇都给出来了,那个是打分卡里面要求全了的,然后service,servlet不全,嗯,刚刚忘说了,没写完,就写了那么多. 先注册: 代码如下: <%@ pa ...
- Axios、Vue组件-生命周期、计算属性、Slot插槽、自定义事件、v-router、钩子函数
Axios:网络通信 <script> var vm =new vue({ el:"#app", data(){ return{ info:{ //返回的数据必须和js ...
- Prime Distance
Description The branch of mathematics called number theory is about properties of numbers. One of th ...
- C# 数字转大写汉字
1.数字转换成汉字大写public string NumToChinese(string x) { //数字转换为中文后的数组 string[] P_array_num = new string[] ...
- pdf地址展示成Swiper轮播方式-复制链接
1.安装vue-pdf插件,swiper插件.clipboard npm install vue-pdf -snpm install swiper -Snpm install clipborad -S ...
- java语言——跨平台原理,jre,jdk
day1 Java是一种混合的编译运行方式:编译+解释(虚拟机) java的跨平台:在虚拟机中运行(jvm) jdk:jvm,核心类库,开发工具(开发环境) jre:Java的运行环境
- git 日常基本使用
// 将远程仓库下的所有分支拉取到本地 git fetch origin // 将dev分支合并到当前所在的分支 git merge dev // 基于当前分支克隆出新的本地分支 git checko ...
- (unsigned)short溢出后隐式转换为int
同学被面试官问到一个细节中的细节,虽然个人觉得意义不大,但还是好奇并在和同学一起实验后搞清楚了,记录一下 如下: int main() { unsigned short a = 65535, b = ...
- Mysql习题系列(一):基本select语句与运算符
Mysql8.0习题系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 文章目录 Mysql8.0习题系列 1. 基本select语句 1.1 题目 1.2答案 1.查询员工12个月 ...