LockWorkStation 関数 (winuser.h)

ワークステーションのディスプレイをロックします。 ワークステーションをロックすると、未承認の使用から保護されます。

構文

BOOL LockWorkStation();

戻り値

関数が成功すると、戻り値は 0 以外になります。 関数は非同期的に実行されるため、0 以外の戻り値は、操作が開始されたことを示します。 ワークステーションが正常にロックされているかどうかは示されません。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

LockWorkStation 関数は、対話型デスクトップで実行されているプロセスでのみ呼び出し可能です。 さらに、ユーザーはログオンする必要があり、ワークステーションをロックすることはできません。

関数が成功した場合でもワークステーションがロックされない一般的な理由には、ユーザーがログオンしていない、ワークステーションが既にロックされている、プロセスが対話型デスクトップで実行されていない、グラフィカル識別および認証 (GINA) DLL によって要求が拒否されるなどです。

この関数は、Ctrl + Alt + Del キーを押して [ロック] をクリックした場合と同じ結果になります。 ワークステーションのロックを解除するには、ユーザーがログインする必要があります。 ワークステーションがロックされているかどうかを判別するために呼び出すことができる機能はありません。 ユーザーがワークステーションまたはログインをロックしたときに通知を受信するには、 WTSRegisterSessionNotification 関数を使用して WM_WTSSESSION_CHANGE メッセージを受信します。 セッション通知を使用してデスクトップの状態を追跡し、ユーザーと対話できるかどうかを確認できます。

例については、「 ワークステーションをロックする方法」を参照してください。

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-misc-l1-5-1 (Windows 10 バージョン 10.0.14393 で導入)

こちらもご覧ください

システム シャットダウン機能