您当然应该采取所有正常步骤使您的应用程序拒绝自行关闭(可能除非提供密码),因此我们只讨论"我不想让任何人强行关闭它"部分.
一种解决方案是使您的应用程序成为Windows shell.
另一种解决方案是设置计算机,使当前登录的用户无权关闭您的应用程序.
最后的解决方案,这是一个肮脏的,没有正式支持的黑客,你没有听到我,是这样做的:
public static class Utility
{
[DllImport("ntdll.dll", SetLastError = true)]
private static extern void RtlSetProcessIsCritical(UInt32 v1, UInt32 v2, UInt32 v3);
public static void BsodIfProcessEnds()
{
Process.EnterDebugMode();
RtlSetProcessIsCritical(1, 0, 0);
}
public static void NoFireworksIfProcessEnds()
{
RtlSetProcessIsCritical(0, 0, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
警告:BsodIfProcessEnds完全按照锡上的说法完成.
| 归档时间: |
|
| 查看次数: |
480 次 |
| 最近记录: |