Tôi đã có một giải pháp chung để chia sẻ:
using System;
using System.Runtime.InteropServices;
namespace WhateverNamepaceYouAreUsing
{
class Magician
{
[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
const int HIDE = 0;
const int SHOW = 5;
public static void DisappearConsole()
{
ShowWindow(GetConsoleWindow(), HIDE);
}
}
}
Chỉ cần bao gồm lớp này trong dự án của bạn, và gọi Magician.DisappearConsole();
.
Một giao diện điều khiển sẽ nhấp nháy khi bạn khởi động chương trình bằng cách nhấp vào nó. Khi thực hiện từ dấu nhắc lệnh, dấu nhắc lệnh sẽ biến mất rất nhanh sau khi thực thi.
Tôi làm điều này cho Bot Discord chạy mãi trong nền máy tính của tôi như một quá trình vô hình. Nó dễ hơn là để TopShelf làm việc cho tôi. Một vài hướng dẫn TopShelf đã làm tôi thất bại trước khi tôi viết bài này với một số trợ giúp từ mã tôi tìm thấy ở nơi khác. ; P
Tôi cũng đã cố gắng đơn giản thay đổi cài đặt trong Visual Studio> Project> Properties> Application để khởi chạy dưới dạng Ứng dụng Windows thay vì Ứng dụng Console và điều gì đó về dự án của tôi đã ngăn điều này ẩn bảng điều khiển của tôi - có lẽ vì DSharpPlus yêu cầu khởi chạy bảng điều khiển khi khởi động . Tôi không biết. Dù lý do là gì, lớp này cho phép tôi dễ dàng giết bàn điều khiển sau khi nó bật lên.
Hy vọng pháp sư này sẽ giúp được ai đó. ;)