rundll32.exe user32.dll,LockWorkStation
Меня предупредили, что это не рекомендуется (кроме Microsoft). Предупреждения также центрируются вокруг близкого родственника команды, ExitWindowsEx (Который закрывает компьютер). У меня никогда не было проблем с ним, но YMMV.
Schlump: обезьяна пуделя может быть права. Легенда предупреждает, что код мощен и опасен.
Nudar: Мой Бог. Мы должны использовать его только три или четыре раза. Шесть, максимум
Nibbler: Но даже единственное использование могло разрушить вселенную!
Nudar: Получил его. Два или три раза.
Если у Вас есть доступ к компилятору C++ Visual Studio, вот (чрезвычайно сложный) источник:
//
//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);
}
Обратите внимание, что в Windows Vista/7, можно использовать команду tsdiscon
разъединять сессию/блокировку Удаленного рабочего стола Ваша рабочая станция.
Если Вы используете rundll32.exe user32.dll, LockWorkStation
команда на сессии Удаленного рабочего стола (в Windows 7/Vista), сессия продолжится, но Вы будете просто видеть экран блокировки в окне Remote Desktop.
Вы также можете сделать это с локальной машины, чтобы заблокировать удаленную рабочую станцию, используя путь UNC:
\\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Получение доступа запрещено на рабочих станциях Windows 7, но работает с Windows XP.
.