我需要在用C#编写的visual studio控制台 应用程序的控制台窗口中禁用关闭按钮。我希望应用程序应该运行直到它完成 并且用户不应该能够通过关闭控制台窗口来停止它。我使用Visual Studio 2010如何禁用Visual Studio控制台应用程序中控制台窗口的关闭按钮?
回答
下面是一个例子来禁用控制台窗口关闭按钮:在任务栏应用
class Program
{
private const int MF_BYCOMMAND = 0x00000000;
public const int SC_CLOSE = 0xF060;
[DllImport("user32.dll")]
public static extern int DeleteMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("user32.dll")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("kernel32.dll", ExactSpelling = true)]
private static extern IntPtr GetConsoleWindow();
static void Main(string[] args)
{
DeleteMenu(GetSystemMenu(GetConsoleWindow(), false),SC_CLOSE, MF_BYCOMMAND);
Console.Read();
}
}
如何右键单击任务栏中的应用程序,然后选择关闭? – RvdK 2011-05-19 06:35:26
Thanks.Works就像一个魅力。虽然,PowerRoy指出,控制台窗口仍然可以从任务栏关闭,我很满意给定的解决方案。请您简要解释代码实际上在做什么? – vjain27 2011-05-19 23:51:48
@ vjain27:一切都在MSDN :) [GetConsoleWindow](http://msdn.microsoft.com/en-us/library/ms683175%28v=vs.85%29.aspx)检索控制台使用的窗口句柄与调用过程相关联。 [GetSystemMenu](http://msdn.microsoft.com/en-us/library/ms647985%28v=vs.85%29.aspx)返回窗口菜单的句柄。和[DeleteMenu](http://msdn.microsoft.com/en-us/library/ms647629%28VS.85%29.aspx)删除指定的菜单项。最后,你可以在这里找到常量(http://www.pinvoke.net/default.aspx/user32.deletemenu)。 – Reniuz 2011-05-20 06:44:20
- 1. Visual Studio控制台窗口
- 2. 控制台窗口关闭
- 3. 如何打开Visual C++控制台应用程序的新控制台窗口?
- 4. Visual Studio(MAC)控制台应用程序
- 5. 关闭应用程序,而不显示控制台窗口
- 6. 如何从Windows窗体应用程序在C#中关闭控制台窗口?
- 7. Visual Studio控制台窗口位置
- 8. 如何退出控制台应用程序并关闭c#中的窗口?
- 9. 单击关闭按钮时如何通知控制台窗口程序?
- 10. 当控制台窗口关闭时阻止程序关闭
- 11. 如何在运行控制台应用程序时阻止控制台窗口关闭?
- 12. 当关闭控制台窗口的关闭所有应用程序
- 13. 如何关闭窗体后关闭控制台窗口
- 14. 如何防止控制台窗口在ghc应用程序中关闭?
- 15. 如何在程序之后关闭控制台窗口?
- 16. py2exe关闭窗口/控制台后exectuion
- 17. 控制台窗口刚刚关闭? c#
- 18. 如何关闭在Visual Studio中打开的“孤立”控制台窗口?
- 19. 控制台窗口不再出现在我的Visual Studio节点控制台应用程序
- 20. 在C#控制台中隐藏控制台窗口应用程序
- 21. 如何捕捉用户通过“X”按钮关闭控制台应用程序
- 22. 隐藏Windows窗体应用程序中的控制台窗口
- 23. Windows CE平台上的“控制台应用程序窗口”
- 24. 如何在Windows关机时关闭控制台应用程序
- 25. 如何停止执行后关闭控制台窗口的Visual Studio 2012?
- 26. 在Visual Studio 2012控制台应用程序中创建一个窗口?
- 27. 控制台应用程序在Visual Studio中打开后立即关闭
- 28. 如何隐藏我的应用程序的控制台窗口?
- 29. 用javaw控制台窗口?
- 30. 关闭控制台也关闭GUI应用程序
您还需要阻止右击并选择“关闭”。也许taskmanager? – RvdK 2011-05-19 06:36:06