gpt4 book ai didi

vb.net - 如何在不显示控制台窗口的情况下运行控制台应用程序

转载 作者:行者123 更新时间:2023-12-04 14:42:34 25 4
gpt4 key购买 nike

我编写了一个具有以下子主要内容的应用程序:

 Public Sub Main()
Dim Value As String() = Environment.GetCommandLineArgs
Dim F As Form
Select Case Value.Last.ToLower
Case "-character"
F = New frmCharacterSheet
Case "-viewer"
F = New frmClient
Case Else
F = New frmCombat
End Select
Application.Run(F)
End Sub

这是因为我希望能够基于命令行以三种不同的启动模式安装我的应用程序。我确实有一个执行此操作的表单,但这使得错误捕获变得非常困难,因为主表单仅报告错误。

这个控制台似乎运行良好,但我不希望用户在启动时看到黑色的控制台屏幕。

我已经搜索了答案,但大多数解决方案是“切换回 Windows 窗体应用程序”。由于上述原因,我不想这样做。 (我不能在 winforms 启动情况下使用 application.run(f),因为我遇到线程错误。

我需要知道如何隐藏控制台窗口,或者如何编写一个主菜单来启动其他三个表单之一(但使它们成为启动表单)。

任何帮助,将不胜感激....

最佳答案

尝试:

Private Declare Auto Function ShowWindow Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
Private Declare Auto Function GetConsoleWindow Lib "kernel32.dll" () As IntPtr
Private Const SW_HIDE As Integer = 0

Sub Main()
Dim hWndConsole As IntPtr
hWndConsole = GetConsoleWindow()
ShowWindow(hWndConsole, SW_HIDE)
'continue your code
End Sub

它有一个副作用是窗口将被显示然后立即隐藏

瓦尔特

关于vb.net - 如何在不显示控制台窗口的情况下运行控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21866105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com