当前位置: 首页 > news >正文

关闭窗口工具类 - C#小函数类推荐

       此文记录的是一个关于关闭窗口工具类。

/***关闭窗口工具类Austin Liu 刘恒辉Project Manager and Software DesignerE-Mail: lzhdim@163.comBlog:   http://lzhdim.cnblogs.comDate:   2024-01-15 15:18:00使用方法:CloseWindowUtil.CloseWindow(this.Handle);***/namespace Lzhdim.LPF.Utility
{using System;using System.Diagnostics;using System.Reflection;using System.Runtime.InteropServices;/// <summary>/// 关闭窗口工具类/// </summary>public class CloseWindowUtil{/// <summary>/// 定义关闭窗口的消息常量/// </summary>private const uint WM_CLOSE = 0x0010;/// <summary>/// 关闭主窗体,相当于退出当前应用/// </summary>public static void CloseMainWindow(){Process currentProcess = Process.GetCurrentProcess();foreach (Process process in Process.GetProcessesByName(currentProcess.ProcessName)){if (Assembly.GetExecutingAssembly().Location.Replace("/", @"\") == process.MainModule.FileName){if (process.MainWindowHandle != IntPtr.Zero){PostMessage(process.MainWindowHandle, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);}break;}}}/// <summary>/// 关闭窗体/// </summary>/// <param name="hWnd">窗体句柄</param>public static void CloseWindow(IntPtr hWnd){PostMessage(hWnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);}[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]private static extern bool PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);}
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++四种类型转换
  • 【课程总结】day19(中):Transformer架构及注意力机制了解
  • 测试类型分类
  • SQLite ORDER BY 语句
  • rust_mac环境安装
  • TypeScript声明文件
  • .ai域名是什么后缀?
  • Java 中的缓冲流
  • Animate软件基础:关于补间动画中的图层
  • 关于香橙派系统烧录,1.1.8或者1.1.10两个版本都无法启动Orangepi5
  • 数据库相关概念大全!
  • 如何优雅地重装系统:使用Ventoy实现系统安装All In One
  • c# 构造器的声明与调用
  • 微信小程序开发:从小程序申请到小程序上线所需要了解的内容
  • 前端使用html2canvas在页面截图并导出,以及截图中含有图片时的跨域问题解决
  • co.js - 让异步代码同步化
  • cookie和session
  • Facebook AccountKit 接入的坑点
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript学习总结——原型
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Objective-C 中关联引用的概念
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Quartz初级教程
  • React-redux的原理以及使用
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • zookeeper系列(七)实战分布式命名服务
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 复习Javascript专题(四):js中的深浅拷贝
  • 前言-如何学习区块链
  • 如何选择开源的机器学习框架?
  • 鱼骨图 - 如何绘制?
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • elasticsearch-head插件安装
  • 阿里云服务器如何修改远程端口?
  • 从如何停掉 Promise 链说起
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #1015 : KMP算法
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (C语言)二分查找 超详细
  • (pycharm)安装python库函数Matplotlib步骤
  • (rabbitmq的高级特性)消息可靠性
  • (zt)最盛行的警世狂言(爆笑)
  • (一) 初入MySQL 【认识和部署】
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)程序员技术练级攻略
  • (转载)hibernate缓存
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .Net 知识杂记
  • .NET下ASPX编程的几个小问题
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • @Value读取properties中文乱码解决方案