我知道我可以取消用户在 Windows 窗体中单击 x 按钮的事件,但我想这样做,以便任务管理器无法关闭它。我还没有在网上找到这个,但我相信有办法做到这一点。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(e.CloseReason == CloseReason.TaskManagerClosing)
{
e.Cancel = true;
}
}
我知道我可以取消用户在 Windows 窗体中单击 x 按钮的事件,但我想这样做,以便任务管理器无法关闭它。我还没有在网上找到这个,但我相信有办法做到这一点。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(e.CloseReason == CloseReason.TaskManagerClosing)
{
e.Cancel = true;
}
}
这里有几个场景:
您可以通过“进程”选项卡中的“结束进程”来终止应用程序。在这种情况下,您无能为力。
您从“应用程序”选项卡中执行“结束任务”。您可以通过处理主窗体的关闭事件并编写此代码来拦截它。您可以在此处阅读有关关闭原因的更多信息。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.TaskManagerClosing)
{
}
}
尽管如果您绝对想确保用户不能阻止您的应用程序运行,您应该创建一个单独的应用程序来监视您的应用程序。每当它被杀死时,您的应用程序就会再次运行它。您可以通过以下代码检查应用程序是否正在运行,并在每个10s
或任何所需的时间间隔后通过计时器调用此代码。
private bool IsProcessRunning(string name)
{
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName.Contains(name))
{
return true;
}
}
return false;
}