4

Visual Basic で WindowsKey + L (コンソールをロックするためのショートカット) をシミュレートし、それを関数にバインドしたいと考えています。したがって、この関数が呼び出されると、コンソールがロックされます。これはできますか?

4

1 に答える 1

14

ホットキーのシミュレーションは間違ったアプローチです。あなたがする必要があるのはLockWorkStation関数を呼び出すことだけです。これは、コードを介してプログラムで実行できることを除いて、++を押して[ワークステーションのロック]を選択するか、+ホットキーを使用するCtrlのと同じ結果になります。AltDelWinL

VBアプリケーションからこの関数を呼び出すには、次のように宣言を記述する必要があります。

Private Declare Function LockWorkStation Lib "user32.dll" () As Long

プロシージャを定義する前に、その宣言をモジュールファイルの先頭に配置することをお勧めします。次に、いずれかのプロシージャ内で、関数を呼び出すことができます。例えば:

Private Sub LockComputer()
    LockWorkStation
End Sub

LockWorkStationさらに良いコードは、エラーコードの戻り値をチェックします。戻り値0は、エラーを示します。VBでWin32エラーをチェックする標準的な方法は、Err.LastDllError正確に何が悪かったのかについての詳細情報を提供します。

于 2012-08-11T03:25:40.953 に答える