此文记录的是一个关于关闭窗口工具类。
/*** 关闭窗口工具类 Austin Liu 刘恒辉 Project Manager and Software Designer E-Mail: lzhdim@163.com Blog: http://lzhdim.cnblogs.com Date: 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); } }
![]() |
Austin Liu 刘恒辉
Project Manager and Software Designer E-Mail:lzhdim@163.com Blog:https://lzhdim.cnblogs.com 欢迎收藏和转载此博客中的博文,但是请注明出处,给笔者一个与大家交流的空间。谢谢大家。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2009-08-01 CSS滑动门技术的简单应用