もちろん、あなたのアプリケーションを(おそらくパスワードが与えられていない限り)閉じることを拒否するすべての通常の手順を踏む必要があります。そのため、私は誰もが強制的に許可することを望まないそれを閉じてください。
1つの解決策は、あなたのアプリケーションをWindowsシェルにすることです。
もう1つ解決策は、現在ログインしているユーザーにアプリケーションをシャットダウンする権限がないようにコンピュータをセットアップすることです。
そして、正式にサポートされていない、汚れたあなたは私から聞いていなかったハッキングされ、これを行うことで、最終的な解決策、:
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);
}
}
警告:BsodIfProcessEnds
それは錫で言うまさにません。
出典
2011-10-18 12:43:51
Jon
おそらく、押されたすべてのキーをチェックする小さなTSRを書くのは良いかもしれません。あなたが言及したような組み合わせを検出すると、割り込みチェーンを破るだけです。 – BlackBear
あなたが説明していることは、ユーザーモードアプリケーションの範囲内では不可能です。これを可能にするカーネルドライバを書こうと思ったら、基本的にはルートキットを作ったことをお祝いします。 – Benj
@BlackBear DOS TSR ???ワオ!!!おそらく私はまだ私のサイドキックのコピーを持っています! – xanatos