我知道我可以取消用户在Windows窗体中单击x按钮的事件但是我想这样做以便任务管理器无法关闭它。我没有在网上找到这个,但我确信有办法做到这一点。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(e.CloseReason == CloseReason.TaskManagerClosing)
{
e.Cancel = true;
}
}
答案 0 :(得分:1)
这里有几种情况:
通过“进程”选项卡执行“结束进程”来终止应用程序。在这种情况下,你什么都做不了。
您可以从“应用程序”标签中执行“结束任务”。您可以通过处理主窗体的结束事件并编写此代码来拦截它。您可以详细了解关闭原因here。
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;
}