gpt4 book ai didi

c# - 如何在 C# 控制台应用程序中禁用用户输入?

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:40 24 4
gpt4 key购买 nike

我正在构建一个在计时器上运行的控制台应用程序,它是一个调度程序 SMS 发送应用程序,方法包含在 main 方法中。我如何确保用户不能输入任何字符,以便应用程序继续运行直到机器停止。我想一起查看有关应用程序执行的信息。我也禁用了关闭按钮。源码如下:

public 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);
Timer t = new Timer(TimerCallback, null, 0, 5000);
Console.ReadLine();
}

private static void TimerCallback(Object o)
{
Console.WriteLine("SMS Banking Schedule: " + DateTime.Now);
DLLSendSMS dllSendSMS = new DLLSendSMS();
dllSendSMS.GetMessages(null);
GC.Collect();
}

}

最佳答案

我建议为此构建一个 Windows 服务,您可以确保它会在机器启动时启动(如果需要)并在后台运行。您可以将信息记录到日志文件、事件日志等,以确保一切正常。

Visual Studio 具有服务模板,可以非常轻松地快速构建服务。

关于c# - 如何在 C# 控制台应用程序中禁用用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45072531/

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