如何防止在VB.NET中调整控制台窗口的大小?

我需要防止控制台程序的用户调整窗口大小,仅允许以编程方式对其进行更改。如果用户更改宽度,一切都会混乱。另外,我想禁用最大化按钮。控制台中是否有这两种可能?

这个答案巧妙地涵盖了如何在WinForms中禁用表单大小的调整,但是不适用于Console。

芝加哥迈克

我想出了一个解决方案,可以防止调整控制台窗口应用程序的大小(通过拖动边角边框或单击最大化或最小化按钮)。以下代码以完整的VB.Net控制台应用程序(即模块)的形式编写:

Module Module1

    Private Const MF_BYCOMMAND As Integer = &H0
    Public Const SC_CLOSE As Integer = &HF060
    Public Const SC_MINIMIZE As Integer = &HF020
    Public Const SC_MAXIMIZE As Integer = &HF030
    Public Const SC_SIZE As Integer = &HF000

    Friend Declare Function DeleteMenu Lib "user32.dll" (ByVal hMenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
    Friend Declare Function GetSystemMenu Lib "user32.dll" (hWnd As IntPtr, bRevert As Boolean) As IntPtr


    Sub Main()

        Dim handle As IntPtr
        handle = Process.GetCurrentProcess.MainWindowHandle ' Get the handle to the console window

        Dim sysMenu As IntPtr
        sysMenu = GetSystemMenu(handle, False) ' Get the handle to the system menu of the console window

        If handle <> IntPtr.Zero Then
            DeleteMenu(sysMenu, SC_CLOSE, MF_BYCOMMAND) ' To prevent user from closing console window
            DeleteMenu(sysMenu, SC_MINIMIZE, MF_BYCOMMAND) 'To prevent user from minimizing console window
            DeleteMenu(sysMenu, SC_MAXIMIZE, MF_BYCOMMAND) 'To prevent user from maximizing console window
            DeleteMenu(sysMenu, SC_SIZE, MF_BYCOMMAND) 'To prevent the use from re-sizing console window
        End If

        Do Until (Console.ReadKey.Key = ConsoleKey.Escape)
            'This loop keeps the console window open until you press escape      
        Loop

    End Sub

End Module

我基于“堆栈溢出”问题/答案给出此答案:“禁用ac#控制台的最大化和最小化按钮[关闭]”

如果这不适合您,请告诉我。祝你好运!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何让我的控制台窗口打开?VB

来自分类Dev

如何在“ Python控制台”中进行水平滚动和自动调整大小?

来自分类Dev

如何打开给定窗口大小的控制台应用程序?

来自分类Dev

如何在 VB .NET 中隐藏 Selenium ChromeDriver 控制台

来自分类Dev

如何在VB中打开控制台

来自分类Dev

如何在VB中打开控制台

来自分类Dev

如何防止datagridview vb.net中的空白

来自分类Dev

如何防止在 VB.Net 中触发 Checkbox Checkchanged 事件

来自分类Dev

如何防止使用tkinter调整窗口大小?

来自分类Dev

防止在控制台窗口关闭时关闭程序

来自分类Dev

如何防止Visual Studio 2013控制台窗口在运行程序后立即关闭?

来自分类Dev

关闭Windows命令控制台时如何防止tkinter窗口关闭

来自分类Dev

VB控制台问题如何

来自分类Dev

使用 python 脚本打印到 Chrome 控制台 - 如何调整以在 div 中打印?

来自分类Dev

如何使.net Core 3.1控制台应用程序中的控制台记录器正常工作

来自分类Dev

如何在C#中从控制台窗口返回焦点?

来自分类Dev

如何禁用控制台窗口上下文菜单中的“关闭”项?

来自分类Dev

如何在Win32 Project,Visual Studio 2010中添加控制台窗口

来自分类Dev

如何从托管脚本中关闭父cmd控制台窗口?

来自分类Dev

如何在C#中从控制台窗口返回焦点?

来自分类Dev

如何在Win32 Project,Visual Studio 2010中添加控制台窗口

来自分类Dev

如何从控制台运行KWin脚本(以将焦点设置为KDE中的特定窗口)?

来自分类Dev

在Inno Setup中执行命令后如何保持控制台窗口

来自分类Dev

如何在控制台应用程序中打开一个窗口?

来自分类Dev

如何在 iPad 版 Edge 中启用/打开开发者/控制台窗口?

来自分类Dev

如何在 Xcode 中打开多列控制台窗口?

来自分类Dev

在VB.NET控制台应用程序中,如何从My.Settings对象获取应用程序的设置?

来自分类Dev

Nitrous-IO控制台-如何启用/禁用控制台窗口的滚动条?

来自分类Dev

如何使用 Chrome 控制台窗口和控制台命令获取网页的加载时间?

Related 相关文章

  1. 1

    如何让我的控制台窗口打开?VB

  2. 2

    如何在“ Python控制台”中进行水平滚动和自动调整大小?

  3. 3

    如何打开给定窗口大小的控制台应用程序?

  4. 4

    如何在 VB .NET 中隐藏 Selenium ChromeDriver 控制台

  5. 5

    如何在VB中打开控制台

  6. 6

    如何在VB中打开控制台

  7. 7

    如何防止datagridview vb.net中的空白

  8. 8

    如何防止在 VB.Net 中触发 Checkbox Checkchanged 事件

  9. 9

    如何防止使用tkinter调整窗口大小?

  10. 10

    防止在控制台窗口关闭时关闭程序

  11. 11

    如何防止Visual Studio 2013控制台窗口在运行程序后立即关闭?

  12. 12

    关闭Windows命令控制台时如何防止tkinter窗口关闭

  13. 13

    VB控制台问题如何

  14. 14

    使用 python 脚本打印到 Chrome 控制台 - 如何调整以在 div 中打印?

  15. 15

    如何使.net Core 3.1控制台应用程序中的控制台记录器正常工作

  16. 16

    如何在C#中从控制台窗口返回焦点?

  17. 17

    如何禁用控制台窗口上下文菜单中的“关闭”项?

  18. 18

    如何在Win32 Project,Visual Studio 2010中添加控制台窗口

  19. 19

    如何从托管脚本中关闭父cmd控制台窗口?

  20. 20

    如何在C#中从控制台窗口返回焦点?

  21. 21

    如何在Win32 Project,Visual Studio 2010中添加控制台窗口

  22. 22

    如何从控制台运行KWin脚本(以将焦点设置为KDE中的特定窗口)?

  23. 23

    在Inno Setup中执行命令后如何保持控制台窗口

  24. 24

    如何在控制台应用程序中打开一个窗口?

  25. 25

    如何在 iPad 版 Edge 中启用/打开开发者/控制台窗口?

  26. 26

    如何在 Xcode 中打开多列控制台窗口?

  27. 27

    在VB.NET控制台应用程序中,如何从My.Settings对象获取应用程序的设置?

  28. 28

    Nitrous-IO控制台-如何启用/禁用控制台窗口的滚动条?

  29. 29

    如何使用 Chrome 控制台窗口和控制台命令获取网页的加载时间?

热门标签

归档