アクセスで作ったアプリなどは mdb を起動するとオートマクロが走って,終了させるとそのまま終了してしまう。
そのままコード修正とかしたい時は非常に面倒。
だから終了ボタンを押す時に,こんな仕組みを用意しておくと便利。
終了ボタンを押す時に,CTRL + ALT + SHIFT が押されていればデザインモードにするって感じ。
その判断に使うのが以下の関数。
あとアプリケーションなどでユーザに公開しない機能などに使用出来る。
このキー押しながらラベルをダブルクリックとか,普段しない動作に対して開発者モードを割り当てる。
便利です。
Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Public Const VK_SHIFT = &H10
Public Const VK_CONTROL = &H11
Public Const VK_MENU = &H12
Public Const VK_LSHIFT = &HA0
Public Const VK_RSHIFT = &HA1
Public Const VK_LCONTROL = &HA2
Public Const VK_RCONTROL = &HA3
Function bDebugMode() As Boolean
Dim abyKeyState(255) As Byte
bDebugMode = False
GetKeyboardState abyKeyState(0)
If CBool(abyKeyState(VK_SHIFT) And &H80) And _
CBool(abyKeyState(VK_CONTROL) And &H80) And _
CBool(abyKeyState(VK_MENU) And &H80) Then
bDebugMode = True
End If
End Function
参照