none
CTRL+ALT+DELキーについて

    質問

  • キー入力制御を行おうとしています。
    CTRL+ALT+DELキーで別画面が出ないようにしたいと思っています。

    WindowsXPではmsdina.dllの改造?で制御できるようなサイトがあったのですが、
    Windows7での制御方法が紹介されているサイトを見つけることができていません。

    どなたか、CTRL+ALT+DELキーを無効にする方法をご存知の方いましたら
    ご教授お願いします。

     

    2011年10月12日 12:17

回答

  • [Ctrl]+[Alt]+[DEL]は、ちょっと特殊な入力で、制御はできないと思います。

    キャッシュですが→VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログ(「ctrl alt del 無効」で検索、4ページ目で発見)


    Jitta@わんくま同盟
    2011年10月12日 13:20
  • 一般的なアプリケーションのキー制御として行うものではありません。ということは前提として、

    Ctrl+Alt+Delete は、SAS という操作の1つです。Ctrl+Alt+Delete 以外の SAS としては、セキュリティ IC カードの挿入や排出があります。

    たとえば、IC カードを使った認証システムでは、GINA.DLL を入れ替えることで、Ctrl+Alt+Delete を SAS ではないように設定し、カードを指すことでログインし、カードを抜くことでロックアウトまたはログオフを行うようにできます。

    GINA + SAS で検索すると、具体的な対応方法は色々とでてくると思いますが、Windows Vista において GINA は廃止されましたので、Windows Vista/7 では GINA を利用した対応はできません。ICredentialProvider という COM ベースのセキュリティシステムに置き換わったためです。(http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5372)

    ICredentialProvider によって、複数の認証システムを同居しやすくなりました。GINA では、指紋認証のシステムと、カード認証のシステムを同居するのは、やや困難でした。それぞれのベンダーが GINA を作るので、どちらか1つしか導入できず、同時に利用するためにはお互いのベンダーが歩み寄って2つの認証を行うような GINA が必要になりました。これが、それぞれのベンダーの ICredentialProvider を使うようにするだけで複数の認証システムが同居できるようになって、多少やりやすくなっています。

    これは、個々の認証プロバイダが OS の仕組みを占有的に変更することができなくなったということでもあり、既存の認証プロバイダによる SAS の要求を外部から変更できないということでもあります。よって、Vista/7 からは Ctrl+Alt+Delete を含めた SAS のハンドリングは OS に近いプロセスによって制御されるように変更されたため、その無効化は簡単にはできないということになります。(SetUsageScenario が発行されるのは SAS より後なため)

    ついでに、Windows 8 でも Developer Preview 時点では SAS に一部変更があります。

    追記:

    このあたりが参考になるかと http://msdn.microsoft.com/ja-jp/magazine/cc163489.aspx

    2011年10月12日 23:56
  • 目的は、TRL+ALT+DELやWindowsキー+Lでアプリケーションを
    隠せないようにするためです。
    そういう要望があるため、実現方法を探しているのです。

    普通の Windows でそれをやることは、邪魔と感じるユーザーが多いと思います。
    何か特殊な前提でもあるのでしょうか?

    そもそも、それらのキーの組み合わせ以外にも、タスクマネージャからプロセスを殺す、ユーザー切り換えメニューを使うなどすれば、見えない状況に陥ると思います。
    なぜ、Ctrl+Alt+Del や Win+L だけに着目しているのかが疑問です。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年10月14日 15:54
    モデレータ
  • > そういう要望があるため

    受付端末や案内端末のような用途でしょうか?

    こういったものも評価してみるとよいかもしれません。

    2011年10月31日 3:18

すべての返信

  • [Ctrl]+[Alt]+[DEL]は、ちょっと特殊な入力で、制御はできないと思います。

    キャッシュですが→VB.NETで、[Ctrl]+[Alt]+[Del]を無効にするプログ(「ctrl alt del 無効」で検索、4ページ目で発見)


    Jitta@わんくま同盟
    2011年10月12日 13:20
  • 一般的なアプリケーションのキー制御として行うものではありません。ということは前提として、

    Ctrl+Alt+Delete は、SAS という操作の1つです。Ctrl+Alt+Delete 以外の SAS としては、セキュリティ IC カードの挿入や排出があります。

    たとえば、IC カードを使った認証システムでは、GINA.DLL を入れ替えることで、Ctrl+Alt+Delete を SAS ではないように設定し、カードを指すことでログインし、カードを抜くことでロックアウトまたはログオフを行うようにできます。

    GINA + SAS で検索すると、具体的な対応方法は色々とでてくると思いますが、Windows Vista において GINA は廃止されましたので、Windows Vista/7 では GINA を利用した対応はできません。ICredentialProvider という COM ベースのセキュリティシステムに置き換わったためです。(http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=5372)

    ICredentialProvider によって、複数の認証システムを同居しやすくなりました。GINA では、指紋認証のシステムと、カード認証のシステムを同居するのは、やや困難でした。それぞれのベンダーが GINA を作るので、どちらか1つしか導入できず、同時に利用するためにはお互いのベンダーが歩み寄って2つの認証を行うような GINA が必要になりました。これが、それぞれのベンダーの ICredentialProvider を使うようにするだけで複数の認証システムが同居できるようになって、多少やりやすくなっています。

    これは、個々の認証プロバイダが OS の仕組みを占有的に変更することができなくなったということでもあり、既存の認証プロバイダによる SAS の要求を外部から変更できないということでもあります。よって、Vista/7 からは Ctrl+Alt+Delete を含めた SAS のハンドリングは OS に近いプロセスによって制御されるように変更されたため、その無効化は簡単にはできないということになります。(SetUsageScenario が発行されるのは SAS より後なため)

    ついでに、Windows 8 でも Developer Preview 時点では SAS に一部変更があります。

    追記:

    このあたりが参考になるかと http://msdn.microsoft.com/ja-jp/magazine/cc163489.aspx

    2011年10月12日 23:56
  • OS の深い層の仕組みは明るくないのですが、疑問に思ったことをお聞きします。

    なぜ、それを実現したい、あるいは実現しなければならないのですか?


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年10月13日 13:20
    モデレータ
  • jittaさん返信ありがとうございます。

    制御はできないですか…
    サイトみてみましたが、VBでは不可能と書かれていますね。
    情報がXPを対象としているみたいです。

    K.Takaokaさん返信ありがとうございます。

    セキュリティの仕組み?で無効化は難しいということでしょうか?
    アプリケーションで行うというより、Windows自体を改造するような
    感じになってしまうということなのですね。

    Azuleanさん返信ありがとうございます。

    目的は、TRL+ALT+DELやWindowsキー+Lでアプリケーションを
    隠せないようにするためです。
    そういう要望があるため、実現方法を探しているのです。

     

    2011年10月14日 0:42
  • 目的は、TRL+ALT+DELやWindowsキー+Lでアプリケーションを
    隠せないようにするためです。
    そういう要望があるため、実現方法を探しているのです。

    普通の Windows でそれをやることは、邪魔と感じるユーザーが多いと思います。
    何か特殊な前提でもあるのでしょうか?

    そもそも、それらのキーの組み合わせ以外にも、タスクマネージャからプロセスを殺す、ユーザー切り換えメニューを使うなどすれば、見えない状況に陥ると思います。
    なぜ、Ctrl+Alt+Del や Win+L だけに着目しているのかが疑問です。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2011年10月14日 15:54
    モデレータ
  • こんにちは、りな さん。

    MSDN フォーラムのご利用ありがとうございます。オペレーターの山本です。

    みなさんから参考になる情報をいただいているかと思われましたので、他の方にも情報を有効活用いただくため、勝手ながら私のほうで回答としてマークさせていただきました。
    回答くださったみなさん、情報ありがとうございます。

    いただいた情報の中で、解決に役立った投稿や、参考になる情報など有効な情報には回答としてマークすることをお願いしています。
    今後、同じ問題でこのスレッドを参照される方にも、有効な情報を活用いただけるかと思いますので、ご協力よろしくお願いいたしますね。

    今後とも、MSDN フォーラムをよろしくお願いいたします。それでは。
                                                             
    日本マイクロソフト株式会社 フォーラム オペレーター 山本 春海

    2011年10月28日 9:20
    モデレータ
  • 解決策でなくワークアラウンド的な感じですが、
    Ctrl、Alt、Delキーで不要なキーがあれば、そのキーを認識しないように
    してみては、いかがでしょうか。

    WinXPでは、Altキーを殺すことで、
    http://msdn.microsoft.com/ja-jp/library/bb521407%28Winembedded.51%29.aspx
    の、Windowsロゴキー無効化するのと同じ方法で可能でした。

    なお、設定方法は以下が参考になります。
    http://support.microsoft.com/kb/181348/ja

    2011年10月31日 1:11
  • > そういう要望があるため

    受付端末や案内端末のような用途でしょうか?

    こういったものも評価してみるとよいかもしれません。

    2011年10月31日 3:18