2015-01-20 117 views
0

我正在尋找一種方式來在用戶選擇CHOICE之後隱藏批處理文件/ cmd窗口。在選擇CHOICE後隱藏CMD批處理文件/ Windows

基本上,批處理啓動時,用戶會得到三個選項,每個選項都包含TIMEOUT,直到pc被鎖定。

所以,當做出選擇時,TIMEOUT應該開始,窗口應該被自動隱藏並繼續在後臺運行。 當TIMEOUT結束時,PC將被鎖定。

會是這樣的事情嗎?

目前使用的代碼

@ECHO off 
cls 
:start 
ECHO. 
ECHO TIME LOCK 
ECHO. 
ECHO 1.  65 Min 
ECHO 2.  45 Min 
ECHO 3.  30 Min 
set /p choice=Select time to lock PC: 
rem if not '%choice%'=='' set choice=%choice:~0;1% (don`t use this command, because it takes only first digit in the case you type more digits. After that for example choice 23455666 is choice 2 and you get "bye" 
if '%choice%'=='' ECHO "%choice%" is not valid please try again 
if '%choice%'=='1' goto 60min 
if '%choice%'=='2' goto 45min 
if '%choice%'=='3' goto 30min 
ECHO. 
goto start 
:60min 
timeout 3600 
rundll32.exe user32.dll, LockWorkStation 
goto end 
:45min 
timeout 2700 
rundll32.exe user32.dll, LockWorkStation 
goto end 
:30min 
timeout 1800 
rundll32.exe user32.dll, LockWorkStation 
goto end 
:end 
::pause 
exit 

短規格: ●Windows 7中,64位 ●的6Gb DDR3內存

回答

1

如果你想有一個批處理腳本隱藏控制檯窗口中,你可以使用powershell -windowstyle hidden -command ""隱藏窗戶。這也是以編程方式最小化和恢復控制檯窗口的好方法。有關更多PowerShell命令行開關,請參閱this Technet page

當然,大多數人自動鎖定工作站只需將屏幕保護程序設置爲需要密碼。這樣,它會在N分鐘後鎖定空閒,並且如果您正在做某件事情,它將不會鎖定。

+0

謝謝@rojo。 我的作品非常完美。 Ps:我不喜歡使用它的屏幕保護程序激活後,不使用電腦的時間設置。我需要這個小應用程序來強制我休息一下,所以每次登錄後都會啓動一個超時直到自動註銷。 希望它是有道理的。 – 2015-01-21 11:02:13