这些技术在上一篇文章的介绍的软件里有用到,现在单独摘出来说明一下。

添加 using System.Runtime.InteropServices;

[StructLayout(LayoutKind.Sequential)]
public struct MARGINS
{
public int cxLeftWidth;
public int cxRightWidth;
public int cyTopHeight;
public int cyBottomHeight;
}
#region 引用 Dll
[DllImport("DwmApi.dll")] //玻璃
public static extern int DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS pMarInset);
[DllImport("user32.dll", EntryPoint = "SendMessage")]// 移动
public static extern int SendMessage(int hWnd, int wMsg, int wParam, int lParam);
[DllImport("user32.dll", EntryPoint = "ReleaseCapture")]
public static extern int ReleaseCapture();
public const int WM_SysCommand = 0x0112;
public const int SC_MOVE = 0xF012;

#endregion

public MainWindow()
{
InitializeComponent();

this.Background = Brushes.Transparent;
ExtendAeroGlass(this);

}

private void ExtendAeroGlass(Window window)
{
try
{
// 为WPF程序获取窗口句柄
IntPtr mainWindowPtr = new WindowInteropHelper(window).Handle;
HwndSource mainWindowSrc = HwndSource.FromHwnd(mainWindowPtr);
mainWindowSrc.CompositionTarget.BackgroundColor = Colors.Transparent;
// 设置Margins
MARGINS margins = new MARGINS();

// 扩展Aero Glass
margins.cxLeftWidth = -1;
margins.cxRightWidth = -1;
margins.cyTopHeight = -1;
margins.cyBottomHeight = -1;

int hr = DwmExtendFrameIntoClientArea(mainWindowSrc.Handle, ref margins);
if (hr < 0)
{
checkBox1.IsChecked = false;
MessageBox.Show("玻璃效果加载失败!");
}
}
catch (DllNotFoundException)
{
Application.Current.MainWindow.Background = Brushes.White;
}
}
private void Window_MouseDown(object sender, MouseButtonEventArgs e) //鼠标按下时,移动
{
IntPtr mainWindowPtr = new WindowInteropHelper(this).Handle;
HwndSource mainWindowSrc = HwndSource.FromHwnd(mainWindowPtr);
ReleaseCapture();
SendMessage(mainWindowSrc.Handle.ToInt32(), WM_SysCommand, SC_MOVE, 0);
}

完成 。。

转载于:https://www.cnblogs.com/wxdtk1989/archive/2011/08/11/2135383.html

win7下 窗体玻璃效果的实现和WindowStyle None模式下的移动 wpf相关推荐

  1. java aero,小弟我们爱分享-Java调用C++ Dll 实现Win7 Aero透明玻璃效果(2)

    3.在解决方案的资源管理器中右键你的EyreFree.cpp文件 -> 属性 -> 找到预编译头 -> 在预编译头中选择不适用预编译头.同时去 stdafx.h 头文件中将[#def ...

  2. css下拉菜单出现下划线,简单带下划线跟随效果的CSS3下拉菜单特效

    简要教程 这是一款使用纯CSS3制作的带下划线跟随效果的下拉菜单特效.该下拉菜单通过CSS3 transform和transition来制作下划线跟随效果和下拉菜单效果. 使用方法 HTML结构 该下 ...

  3. html 下拉列表 模糊查询,JS实现模糊查询带下拉匹配效果

    "搜索"可以使我们更快的找到某一个关键词或者某一个商品,所以"模糊查询"和"下拉匹配"也成了前端必备的一个小技能,开门见山,希望对朋友们有帮 ...

  4. 微信小程序个人中心页下拉回弹效果实现

    实现微信小程序个人中心页面的某个区域的下拉回弹效果.例如以下代码代表需要下拉回弹的区域: 给这个区域加上事件:手指触发的时候事件.手指移动的事件.手指松开的事件.同时加上动画的样式. <view ...

  5. 微信小程序仿系统自带下拉刷新效果

    微信小程序仿系统自带下拉刷新效果 前言 思路分析 实现 尾巴 前言 看到标题也许有人会说:系统不是已经自带了下拉刷新,你去仿照系统的下拉刷新是不是吃多了没事干?其实真相并不是这样的.在微信小程序手把手 ...

  6. 翻转课堂说教案计算机,翻转课堂模式下《计算机应用基础》教学设计.doc

    翻转课堂模式下<计算机应用基础>教学设计 翻转课堂模式下<计算机应用基础>教学设计 摘要:本文就以<计算机应用基础>课程的翻转课堂教学模式,探讨"翻转课堂 ...

  7. 解决vue项目在ie和360兼容模式下显示空白页问题

    艰难路程 记一次bug解决,项目不复杂,是一个基于vue-cli3搭建的pc端项目,之前开发都是在谷歌浏览器上运行的,但在开发进入到后半段,经理说,项目需要在360兼容模式下展示,这时候发现项目在36 ...

  8. Debug模式下加载文件,运行程序异常的慢

    今天在进行单元测试的时候,debug模式下加载速度很慢,但是run模式下速度很快. 原因:在debug模式下,断点位置不当,解决办法 移除编译器中的所有断点. 转载于:https://www.cnbl ...

  9. 完整恢复模式下的备份/恢复

    SQL SERVER 2005 支持三种方式的备份/恢复 1.简单恢复模式下的备份/恢复模 2.完整恢复模式下的备份/恢复 3.大容量日志恢复模式下的备份/恢复   [注]Microsoft关于备份/ ...

最新文章

  1. java语言只保留了什么_java语言的保留的关键字【小白必读】
  2. win7 磁盘根目录(E盘)添加管理员权限
  3. ajax 批量上传图片插件,TinyMCE多图片批量上传(Ajax)教程
  4. dfs.client.block.write.replace-datanode-on-failure
  5. hive开启kerberos-beeline连接
  6. rust种的南瓜为什么老是消失_科技的力量!3种“奇葩”的发明,你都见过吗?...
  7. python编程语言继承_Python 面向对象编程——继承和多态
  8. padding卷积的两种方式“SAME”和“VALID”
  9. Oracle输入默认密码错误,oracle中默认账号oracle 11g SQL plus软件怎么打开?打开显示密码错误怎么办?...
  10. 数据-第15课-栈的应用实战一
  11. SpringBoot整合Sharding-JDBC实现水平分表
  12. 服务器显示器分辨率,屏幕分辨率修改
  13. JSP中EL表达式和JSTL标签库的使用
  14. 自动驾驶中的三维目标检测综述
  15. weadmin3.0版本安装过程
  16. go中的interface
  17. node.js —— express中的next( )
  18. 怎么删除电脑上的另一个用户名?删除电脑上多余的用户名
  19. 怎样查网站的排名和收录情况
  20. Linux Shell 内建命令 : sh命令详解

热门文章

  1. Java小结(四)——折半查找、选择排序、冒泡排序
  2. 阿里SopHix热修复框架
  3. IDEA 快捷键 Android Studio快捷键
  4. python中链表和数组_Python
  5. JZOJ 5678. 【GDOI2018Day2模拟4.21】果树
  6. Qt Dock Widgets 官方示例的翻译
  7. linux redhat5.5终端打不开,为什么在 RedHat Linux 5 下不能使用 ifconfig 命令
  8. COGS-930-找第k小的数-HNOI2012-主席树
  9. Codeforces 1326F Wise Men (容斥原理、状压 DP、划分数)
  10. AtCoder AGC009E Eternal Average (DP)