Я создал простой пакетный сценарий для псевдо-блокировки компьютера, используя следующий код:Всегда поверх пакетного сценария
@ECHO OFF & setlocal ENABLEDELAYEDEXPANSION
setlocal EnableDelayedExpansion
color a
TITLE Lock
if not "%1" == "max" (
powershell -command "& { $x = New-Object -ComObject Shell.Application; $x.minimizeall() }"
start /MAX cmd /c %0 max & exit/b
)
:Lock
echo Please enter a password to lock your computer . . .
powershell -Command $pword = read-host "Enter password" -AsSecureString ; $BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword) ; [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR) > EOFlock.txt & set /p Pass1=<EOFlock.txt & del EOFlock.txt
TITLE Lock
taskkill /IM explorer.exe /F >nul
cls
echo Please type the password to unlock the computer . . .
:Locked
set /p Pass2=
:Unlock
if !Pass1! == !Pass2! (goto End)
goto Locked
:End
start explorer.exe
echo This Computer is unlocked.
Я хочу это окно, чтобы остаться на вершине, и предпочтительно незапираемым, пока он не достиг конец файла. Тем не менее, я еще не нашел способа сделать это.
На самом деле я не думаю, что есть способ в чистом пакете ... можно было бы с помощью VBScript или JavaScript ... такой подходит для вас, вы должны изменить свой пост добавить соответствующий тег (ы) ... – aschipfl
Что касается реализации в PowerShell, вам может быть интересно [этот пост] (http://stackoverflow.com/a/12802050) ... – aschipfl
Вместо «псевдоблокировки» экрана, почему действительно ли вы [блокируете экран] (https://technet.microsoft.com/en-us/library/dd315249.aspx)? –