回答:
rundll32.exe user32.dll,LockWorkStation
これは推奨されていないと警告されました(Microsoftを除く)。警告は、コマンドの近親であるExitWindowsEx(コンピューターをシャットダウンする)にも集中しています。私はそれで問題を抱えたことはありませんが、YMMVです。
Schlump:プードルモンキーは正しいかもしれません。伝説は、コードが強力で危険であることを警告しています。
ヌダー:私の神。3〜4回だけ使用することをお勧めします。6、最大
ニブラー:しかし、1回の使用でも宇宙を粉砕する可能性があります!
Nudar:わかった。2、3回。
(ソース)
Visual StudioのC ++コンパイラにアクセスできる場合、ここに(非常に複雑な)ソースがあります。
//
//LockWorkStation.cpp
//
//Locks the console.
//
//To compile (VC++ 2003, on one line):
//
// cl.exe /W4 LockWorkStation.cpp /link /RELEASE /OPT:REF /OPT:NOWIN98
// /ENTRY:mainStartup /SUBSYSTEM:CONSOLE kernel32.lib
//
#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif
#include <windows.h>
void mainStartup(void)
{
LockWorkStation();
ExitProcess(0);
}
cmd /s /c ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 & cl.exe /W4 LockWorkStation.cpp /link /RELEASE /ENTRY:mainStartup /SUBSYSTEM:CONSOLE kernel32.lib user32.lib"
Windows Vista / 7では、コマンドtsdiscon
を使用してリモートデスクトップセッションを切断したり、ワークステーションをロックしたりできることに注意してください。
rundll32.exe user32.dll, LockWorkStation
リモートデスクトップセッション(Windows 7 / Vista)でコマンドを使用すると、セッションは続行されますが、リモートデスクトップウィンドウにロック画面が表示されるだけです。
スケジューラで実行する場合、またはコンピューターを離れて数分後にtimeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
、.bat
ファイルを作成してスケジュールされたタスクに入れ、トリガーをアイドル状態にすることができます
。
変更できます/t xxx
。どれだけ待つ必要があるか。
Kevinのおかげで、彼はシャットダウンのためにコマンドを使用しました。
timeout /t 36000 /nobreak & shutdown /h /f
UNCパスを使用して、ローカルマシンからこれを実行し、リモートワークステーションをロックすることもできます。
\\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Windows 7ワークステーションではアクセスが拒否されましたが、Windows XPでは機能します。