Командная строка (cmd) управляет для блокировки машины окон

Существует ли способ заблокировать машину Windows XP через командную строку? shutdown команда не имеет опции для него.

64
задан 11.08.2009, 17:29

3 ответа

rundll32.exe user32.dll,LockWorkStation

Меня предупредили, что это не рекомендуется (кроме Microsoft). Предупреждения также центрируются вокруг близкого родственника команды, ExitWindowsEx (Который закрывает компьютер). У меня никогда не было проблем с ним, но YMMV.

Schlump: обезьяна пуделя может быть права. Легенда предупреждает, что код мощен и опасен.
Nudar: Мой Бог. Мы должны использовать его только три или четыре раза. Шесть, максимум
Nibbler: Но даже единственное использование могло разрушить вселенную!
Nudar: Получил его. Два или три раза.

(Источник)

95
ответ дан 07.12.2019, 08:15
  • 1
    Некоторое время у меня была веб-страница на моем компьютере, который, если посещается, - эта команда (на мой компьютер, не посетителей). Это будет в основном удаленная блокировка для моего компьютера, поскольку, когда я забываю блокировать его, когда я покидаю дом и понимать, что мой брат посещал. – Grant 11.08.2009, 17:32
  • 2
    При Вызывании функций как это использование действительно не рекомендуется rundll32. Для получения дополнительной информации посмотрите, что blogs.msdn.com/oldnewthing/archive/2004/01/15/58973.aspx - прокручивает немного вниз к разделу "rundll32". – grawity 12.08.2009, 16:05
  • 3
    , у меня никогда не было проблемы с ним, и он все еще работает в Windows 7 (можно было предположить, что это не было достаточно проблематично для фиксации). Так или иначе это - все еще единственный параметр командной строки для блокировки компьютера (за исключением установки программы, чтобы сделать это для Вас). – Grant 12.08.2009, 16:25

Если у Вас есть доступ к компилятору 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);
}
11
ответ дан 07.12.2019, 08:15

Обратите внимание, что в Windows Vista/7, можно использовать команду tsdiscon разъединять сессию/блокировку Удаленного рабочего стола Ваша рабочая станция.

Если Вы используете rundll32.exe user32.dll, LockWorkStation команда на сессии Удаленного рабочего стола (в Windows 7/Vista), сессия продолжится, но Вы будете просто видеть экран блокировки в окне Remote Desktop.

6
ответ дан 07.12.2019, 08:15

Вы также можете сделать это с локальной машины, чтобы заблокировать удаленную рабочую станцию, используя путь UNC:

\\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation

Получение доступа запрещено на рабочих станциях Windows 7, но работает с Windows XP.

.
-3
ответ дан 07.12.2019, 08:15

Теги

Похожие вопросы