1. win10的透明毛玻璃,winformwpf方法,win78不能用,只是win10
  2. public partial class Form1 : Form
  3. {
  4. [DllImport("user32.dll")]
  5. internal static extern int SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttributeData data);
  6.  
  7. [StructLayout(LayoutKind.Sequential)]
  8. internal struct WindowCompositionAttributeData
  9. {
  10. public WindowCompositionAttribute Attribute;
  11. public IntPtr Data;
  12. public int SizeOfData;
  13. }
  14.  
  15. internal enum WindowCompositionAttribute
  16. {
  17. WCA_ACCENT_POLICY = 19
  18. }
  19.  
  20. internal enum AccentState
  21. {
  22. ACCENT_DISABLED = 0,
  23. ACCENT_ENABLE_GRADIENT = 1,
  24. ACCENT_ENABLE_TRANSPARENTGRADIENT = 2,
  25. ACCENT_ENABLE_BLURBEHIND = 3,
  26. ACCENT_INVALID_STATE = 4
  27. }
  28.  
  29. [StructLayout(LayoutKind.Sequential)]
  30. internal struct AccentPolicy
  31. {
  32. public AccentState AccentState;
  33. public int AccentFlags;
  34. public int GradientColor;
  35. public int AnimationId;
  36. }
  37.  
  38. internal void EnableBlur()
  39. {
  40. var accent = new AccentPolicy();
  41. var accentStructSize = Marshal.SizeOf(accent);
  42. accent.AccentState = AccentState.ACCENT_ENABLE_BLURBEHIND;
  43.  
  44. var accentPtr = Marshal.AllocHGlobal(accentStructSize);
  45. Marshal.StructureToPtr(accent, accentPtr, false);
  46.  
  47. var data = new WindowCompositionAttributeData();
  48. data.Attribute = WindowCompositionAttribute.WCA_ACCENT_POLICY;
  49. data.SizeOfData = accentStructSize;
  50. data.Data = accentPtr;
  51.  
  52. SetWindowCompositionAttribute(this.Handle, ref data);
  53.  
  54. Marshal.FreeHGlobal(accentPtr);
  55. }
  56. ...................
  57. ...................
  58. private void Form1_Load(object sender, EventArgs e)
  59. {
  60. EnableBlur();
  61. }
  62.  
  63. 窗体背景设置比如Red,然后TransparencyKey=Red,就有行了。
  64.  
  65. 如果使用WPF,修改:
  66. internal void EnableBlur()
  67. {
  68. var windowHelper = new WindowInteropHelper(this);
  69. ......
  70. ......
  71. SetWindowCompositionAttribute(windowHelper.Handle, ref data);
  72. ......
  73. }

windows 10 透明毛玻璃,winform和wpf方法的更多相关文章

  1. 支持 Windows 10 最新 PerMonitorV2 特性的 WPF 多屏高 DPI 应用开发

    Windows 10 自 1703 开始引入第二代的多屏 DPI 机制(PerMonitor V2),而 WPF 框架可以支持此第二代的多屏 DPI 机制. 本文将介绍 WPF 框架利用第二代多屏 D ...

  2. 【技巧】Windows 10 1809无法接收1903解决方法

    这都7月份了,Windows10 1903都升级的有一个月了,然而我的1809的系统一直找不到1903的更新. 虽说1903会有bug,但还是想体验一把.周围同事都更新了,心里还是痒痒的. 于是每天都 ...

  3. Win10系统下如何禁止同步主机session?windows 10禁止同步主机session的方法

    近来,有些刚刚升级Win10正式版的用户反映自己的电脑开机时有个同步主机session启动项占用了将近半分钟,而选择用360禁止后,下次会出现同步主机session3,再禁止下次又会出现同步主机ses ...

  4. Windows 10 版本 1507 中的新 AppLocker 功能

    要查看 Windows 10 版本信息,使用[运行]> dxdiag  回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...

  5. Windows 10创意者更新ISO发布!官方下载

    http://news.mydrivers.com/1/526/526719.htm 去年7月份,微软面向Windows 10推出了“周年更新”,让系统变得更加稳定好用.今天,Windows 10迎来 ...

  6. 如何在Windows 10安装和使用Linux的Bash shell

    转载自:百度经验 Windwos 10 的周年更新为开发人员提供一个大的新功能:一个完整的,基于Ubuntu的Bash shell中,可以直接在Windows上运行Linux软件. 这使得“Linux ...

  7. Windows 10 应用创建模糊背景窗口的三种方法

    原文 Windows 10 应用创建模糊背景窗口的三种方法 现代的操作系统中创建一张图片的高斯模糊效果非常容易,不过如果要在窗口中获得模糊支持就需要操作系统的原生支持了.iOS/Mac 和 Windo ...

  8. winform,wpf全屏 还显示任务栏的解决方法

    原文:winform,wpf全屏 还显示任务栏的解决方法 以wpf为例: 全屏代码: this.Topmost = true; this.WindowStyle = System.Windows.Wi ...

  9. 在 WPF 程序中应用 Windows 10 真?亚克力效果

    原文:在 WPF 程序中应用 Windows 10 真?亚克力效果 从 Windows 10 (1803) 开始,Win32 应用也可以有 API 来实现原生的亚克力效果了.不过相比于 UWP 来说, ...

随机推荐

  1. 【java】之位运算^,&,<<,>>,<<<,>>>总结

    1.^(亦或运算) ,针对二进制,相同的为0,不同的为1 public static void main(String[] args) { System.out.println("2^3运算 ...

  2. Ubuntu 16.04安装Docker-CE

    系统环境 * Ubuntu: 16.04 * Docker: 17.09.0-ce 安装步骤 1.安装Docker-CE,具体参考:https://docs.docker.com/engine/ins ...

  3. android 版本号大小比较

    https://www.jianshu.com/p/ee1990270ee1 网上找了很多方法都不太靠谱,有问题,自己改了改,亲试可以 大家都知道,版本号一般由以下几部分组成: 1. 主版本号 2. ...

  4. 爬虫系列2:Requests+Xpath 爬取租房网站信息

    Requests+Xpath 爬取租房网站信息 [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]:参考前文 ...

  5. c# 观察者模式 匿名方法与Lambda

    //匿名方法 //和委托搭配使用 //方便我们快速对委托进行传参 //不需要我们去定义一个新的函数 //直接用delegate关键字代替方法名,后面跟上参数列表与方法体 //delegate(参数列表 ...

  6. 自定义panel实现,并实现item更改和移除动画。

    原地址:https://www.cnblogs.com/yk250/p/10043694.html  无图无真相: 1,重写panel类(模拟实现一个竖直方向排列的panel,相当于默认的StackP ...

  7. 高性能网络通信框架 HP-Socket v5.2.1

    项目主页 : http://www.oschina.net/p/hp-socket 开发文档 : http://www.docin.com/p-2079016612.html 下载地址 : https ...

  8. js实现输入某串数字,构建完全二叉树,并判断是否为二叉搜索树

    思路:若为二叉搜索树,则中序遍历为递增的 let arr = [15,8,16,6,10];let pindex = [];function Node(){ this.root = null; thi ...

  9. 影响solr性能的一些因素(附使用经验)

    Solr本身的性能不错,但是在使用过程中,还是会遇到一些使用错误,或是没考虑到的地方:在出现瓶颈时,可以首先考虑哪些点呢?下面就来看一下Solr官方的总结,个人觉得总结的很好.SOLR+LUCENE的 ...

  10. Odoo二次开发

    Odoo 点击进入