1

現在、C# でフルスクリーン アプリケーションに取り組んでいます。学校で生徒を評価するために使用されるクイズ アプリケーションです。

現在、アプリケーションをトップバーとボーダーのないフルスクリーン状態にすることができます。問題は、生徒がウィンドウを切り替えて、CTRL-ALT-DELETE や CTRL-SHIFT-ESC などの Windows ネイティブ コマンドを使用できることです。ああ、ALT-TAB。

アンチウイルスがアプリを脅威として報告せずに、これらのコマンドをブロックする方法があるかどうか疑問に思っていました. まず、コマンドを単純にブロックする方法があれば。私たちはそれを疑っていますが、ほとんど解決できない問題に対して驚くべき解決策を思いつくことがよくあります。

ご心配ありがとうございます。

編集 :

生徒がタスク マネージャーでアプリを強制終了できず、インターネット ブラウザーやチャット ユーティリティなどの他のアプリを開くことができないように、これを行いたいと考えています。もっと安全な方法があるのではないでしょうか?

4

3 に答える 3

2

実際には、Windows XP および Windows 7 のコードからこれを行うことはできません。

レジストリを介してこれを行う方法は次のとおりです。 キオスクとして使用するための Windows の保護

于 2012-06-04T04:48:00.283 に答える
1

フォームの TopMost プロパティを TRUE に設定して、すべてのフォーム コントロールを非表示にすることはできませんか。ctrl-alt-del などでできることはすべて、プロセス/アプリをシャットダウンすることです。これが回避しようとしている場合は、この回答を無視してください。

もう 1 つの答えは、グローバル キーボード フックを使用することです。

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    private static extern IntPtr SetWindowsHookEx(int idHook,
        LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);

    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    [return: MarshalAs(UnmanagedType.Bool)]
    public static extern bool UnhookWindowsHookEx(IntPtr hhk);

    [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
    private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode,
        IntPtr wParam, IntPtr lParam);
于 2012-06-04T05:06:42.863 に答える