タイトル 強制終了ダイアログを使えないようにする
対象言語 VB4.0, Access95以降
動作確認OS Windows95,98
使用関数 SystemParametersInfo
改築日 1999/07/19(1998/02/04)
Source Download

[Ctrl]+[Alt]+[Del]、[Shift]+[Tab]、[Ctrl]+[ESC]
キーを使えないようにします。

これは、スクリーンセーバーでセキュリティを設定する場合のみ使用します。
その他の目的では絶対に利用しないで下さい。


1. フォームを作成しコマンドボタン2つ(Command1,Command2)を貼り付けてください。

Option Explicit

Private Sub Command1_Click()

  Call Y_SetScreenSaverRunning(1)
  Call MsgBox("Ctrl+Alt+Del,Alt+Tab,Ctrl+Escは効かなくなりました。(^-^)v")

End Sub


Private Sub Command2_Click()

  Call Y_SetScreenSaverRunning(0)
  Call MsgBox("Ctrl+Alt+Del,Alt+Tab,Ctrl+Escは効くようになりました。(^-^)v")

End Sub


Private Sub Form_Unload(Cancel As Integer)

  Call Y_SetScreenSaverRunning(0)

End Sub



2.モジュールウインドウを作成し、下のソースを入力してください。


Option Explicit

'システム設定
Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" _
(ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long
Public Const SPI_SCREENSAVERRUNNING = 97 'Ctrl+Alt+Del,Alt+Tab,Ctrl+Escを無効にする


Public Sub Y_SetScreenSaverRunning(sw As Integer)
'***********************************************************
'機能 : 「プログラムの強制終了」ダイアログを無効化、
'     タスクの切り替えを無効化する
'引数 : sw = 0:無効 1:有効
'備考 : Ctrl+Alt+Del,Alt+Tab、Ctrl+Escを効かなくする事が
'    出来ます。
'    但し、強制終了が出来なくなりますので、使用にあたっては
'    十分ご注意ください。
'***********************************************************

Dim longret As Long

  longret = SystemParametersInfo(SPI_SCREENSAVERRUNNING, sw, "", 0&)

End Sub





Copyright (C)1997-2001 空耳工房 MY2Project All rights reserved.