C#使用Windows API实现桌面上的遮罩层(鼠标穿透)
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsApplication40
{
public partia lclass Form1:Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll",EntryPoint="GetWindowLong")]
public static extern long GetWindowLong(IntPtr hwnd,int nIndex);
[DllImport("user32.dll",EntryPoint="SetWindowLong")]
public static extern long SetWindowLong(IntPtr hwnd,int nIndex,long dwNewLong);
[DllImport("user32",EntryPoint="SetLayeredWindowAttributes")]
public static extern int SetLayeredWindowAttributes(IntPtr Handle,int crKey,byte bAlpha,int dwFlags);
const int GWL_EXSTYLE=-20;
const int WS_EX_TRANSPARENT=0x20;
const int WS_EX_LAYERED=0x80000;
const int LWA_ALPHA=2;
private void Form1_Load(objec tsender,EventArgs e)
{
this.BackColor=Color.Silver;
this.TopMost=true;
this.FormBorderStyle=FormBorderStyle.None;
this.WindowState=FormWindowState.Maximized;
SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE)|WS_EX_TRANSPARENT|WS_EX_LAYERED);
SetLayeredWindowAttributes(Handle,0,128,LWA_ALPHA);
}
}
}
以上就是介绍C#使用Windows API实现桌面上的遮罩层(鼠标穿透),希望对你有所帮助。
转载于:https://www.cnblogs.com/top5/archive/2010/03/17/1688087.html
C#使用Windows API实现桌面上的遮罩层(鼠标穿透)相关推荐
- Windows 7/Vista 桌面上为何有两个隐含的 Desktop.INI
笔者今天在微软中文论坛看到有人又问起一个不算新问题的问题:当我们通过 Windows 7/Vista 的文件夹 选项设置允许显示隐含的文件后,会在 Windows 7/Vista 桌面上看到两个同名的 ...
- css如何实现鼠标移至图片上显示遮罩层及文字
css如何实现鼠标移至图片上显示遮罩层及文字 问题:一张图片当鼠标移动到上方时,会显示一个遮罩层,并且显示一些提示文字 html: <div class="contentimg&quo ...
- 鼠标悬停 -css如何实现鼠标移至图片上显示遮罩层及文字
搜索这个效果的时候,很多人都是用css结合jQuery实现的,其实直接用css也可以实现哦~ 效果前: 效果后: 代码: <!DOCTYPE html> <html lang=&qu ...
- linux桌面环境 mac os,在Windows或Linux桌面上使用Mac OS Dashboard Widget | MOS86
Windows Vista中引入了 Gadgets,并在Windows 7中继续使用.它们允许您从最新的新闻更新到月球的各个阶段查看各种信息,并在桌面上使用一些有用的实用程序.我们以前写过一个程序,允 ...
- Windows 2012系统桌面上没有我的电脑
1.WIN+R调出运行窗口: 2.在运行窗口框输入 rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 然后点击确定按钮,勾选想要在桌 ...
- Windows实现在桌面上双击图标,自动进入到指定网址
功能实现步骤 创建一个快捷方式,右键点击桌面上的空白区域,选择"新建"->"快捷方式". 在弹出的"创建快捷方式"对话框中,输入你想要 ...
- html页面添加遮罩层,在浏览器窗口上添加遮罩层的方法
如何在浏览器窗口上添加一个遮罩层 背景 在web2.0中,页面弹窗是一个很常见的交互方式,这样既可以避免不必要的页面跳转,也可以改进界面的布局和可交互性. 但是,浏览器原生的弹窗函数(alert, c ...
- Windows API参考大全
第一章 Win32 API概论 1.1为什么使用 Wu32 API 在Windows程序设计领域处于发展初期时,Windows程序员可使用的编程工具唯有API 函数.这些函数在程序员手中犹如" ...
- 保存和恢复桌面上的图标位置
保存和恢复桌面上的图标位置 - CodeProject 本文介绍如何在 Windows 桌面上保存和还原图标的位置. 下载源代码 - 181.9 KB 介绍 最近,我的公司为我的笔记本电脑提供了一个扩 ...
最新文章
- Rainbow的相关资料
- php文件名函数,php 获取文件名basename()函数的用法总结
- 戴尔发布面向制造、生命科学和研究的高性能计算系统
- 编写程序,删除数组中重复的元素,并统计各元素出现的次数
- 每天进步一点点《ML - K-means》
- python免费教学视频400集-如何入门 Python 爬虫?400集免费教程视频带你从0-1全面掌握...
- C#租房管理系统(课程设计)
- 调试和测试 Swing 代码
- java安装cab破损,Visual Studio 2005 Professional Edition损坏的CAB文件
- 三维地图之cesium入门使用
- 微信小程序加载效果和取消加载效果
- 【我的世界】自定义局域网服务器-LanServerPropertie-1.17.x-自定义端口+关正版验证
- Python快速实现人脸识别
- vue单页面背景颜色修改
- October 20th 2017 Week 42nd Friday
- vb.net程序可以在触摸屏上运行么_【干货】触摸屏控制变频器的方法与步骤
- 《2021当代青年婚恋状态研究报告》:觅伊打破交友困境
- 中兴N880e升级android4.1版本体验
- 求正多边形各顶点的坐标(数学)
- 用一用Vant组件库
热门文章
- springboot在intellij中的热部署(Hot swapping)配置
- org.apache.hadoop.hbase.NotServingRegionException: hbase:meta,,1 is not online问题(暂时没有解决)
- $lookup做关联表查询
- ImportError: No module named Cython.Build
- linux cvs服务,Linux环境下轻松搭建CVS服务器
- mysql慢查询检查流程_简单谈谈MySQL优化利器-慢查询
- 常用的几种简单的内部排序方法
- 搭建Vue.js环境,建立一个简单的Vue项目
- [转]写好shell脚本的13个技巧
- LoaderManager使用详解(一)---没有Loader之前的世界