c# 控制台程序禁用关闭按钮完美解决
2010-07-23 00:01
288 查看
在做项目的时候需要这样一个功能,让控制台程序不能随意关闭。找了半天资料,终于通过WINDOWS的API完美解决了。如下
代码
代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; namespace ConsoleApplication1 { class Program { [DllImport("User32.dll ", EntryPoint = "FindWindow")] private static extern int FindWindow(string lpClassName, string lpWindowName); [DllImport("user32.dll ", EntryPoint = "GetSystemMenu")] extern static IntPtr GetSystemMenu(IntPtr hWnd, IntPtr bRevert); [DllImport("user32.dll ", EntryPoint = "RemoveMenu")] extern static int RemoveMenu(IntPtr hMenu, int nPos, int flags); static void Main(string[] args) { //与控制台标题名一样的路径 string fullPath = System.Environment.CurrentDirectory +"\\ConsoleApplication1.exe"; //根据控制台标题找控制台 int WINDOW_HANDLER = FindWindow(null, fullPath); //找关闭按钮 IntPtr CLOSE_MENU = GetSystemMenu((IntPtr)WINDOW_HANDLER, IntPtr.Zero); int SC_CLOSE = 0xF060; //关闭按钮禁用 RemoveMenu(CLOSE_MENU, SC_CLOSE, 0x0); //使用命令关闭 while (true) { if (Console.ReadLine().ToLower() == "exit") { return; } } } } }
相关文章推荐
- C#使用API禁用/删除程序窗体的关闭菜单和按钮
- C#使用API禁用/删除程序窗体的关闭菜单和按钮
- C#使用API禁用/删除程序窗体的关闭菜单和按钮
- 将c#控制台程序关闭按钮取消
- C#小程序:使用API禁用窗体关闭按钮
- 蛋疼的让C#控制台程序(Console)像窗体(Winform)一样(关闭,托盘图标,事件响应,手动退出等)
- VS2010控制台程序运行一闪而过的完美解决办法(转)
- 魔改——MFC MDI程序 定制 文档模板 运行时全部打开 禁用关闭按钮
- VS2010控制台程序运行一闪而过的完美解决办法
- C#禁用关闭按钮的另一种方法
- C#杀死手动关闭控制台程序,遗留的进程
- c# 做的登录窗体,登录成功后当前登录Form关闭,打开Main窗体,但Main窗体点关闭按钮后程序仍在进程怎么办
- C# winform中窗口的关闭按钮的隐藏与禁用的几种方式说明
- c# 禁用Excel窗口关闭按钮
- 解决C# WinForm 中 VSHOST.EXE 程序不关闭的问题
- c# 禁用和启用windows form窗体上的关闭按钮
- C# 禁用 关闭窗口 按钮的方法
- C# 控制台实现关闭前的操作,并使关闭按钮无法使用
- C#注册控件处理程序(SetConsoleCtrlHandler)函数示例 控制台关闭事件改写
- 解决C# WinForm 中 VSHOST.EXE 程序不关闭的问题