我需要在用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