你好我想知道是否有我可以为我的聊天程序创建一个简单的弹出登录输入。这是登录部分的代码:
@echo off
:home
set ch==1
color 0b
title Logon Screen
cls
echo Chat Login
echo ___________________________
echo 1.Logon
echo.
echo 2.Create an Account
echo.
echo 3.Exit
echo ___________________________
echo.
set /p ch=Choice Number:
if %ch%==1 goto logon
if %ch%==2 goto account
if %ch%==3 goto exit
color 0c
echo Please enter a valid number
ping localhost -n 2 >nul
goto home
答案 0 :(得分:0)
假设你的意思是一个输入的弹出框,有两种基本的设置方法,一个产生一个javascript弹出框,另一个产生第二个命令窗口。
对于javascript弹出框,您应该调用rhino
这是Javascript的实现。一旦您下载了它,您就可以像{Python}一样从cmd
调用它。您可以在单独的文件中write the javascript for a popup box然后调用它。
$ rhino file.js
第二种方法是使用start
调用第二个批处理文件:
start file.bat
包含输入,例如
set /p username=Login:
要么工作,它只取决于你想要的风格。
答案 1 :(得分:0)
试试这个:
@echo off
setlocal enableDelayedExpansion
if "%1"==":home" goto :home
set r=r%random%
set ch=1
start /wait cmd /c "%~f0" :home
:ugly loop start
For /f "tokens=2,13 delims=, " %%a in (
'tasklist /v /fo csv /fi "imagename eq cmd.exe"
^|findstr /v "Windows\\system32\\cmd.exe"
^|findstr "set /p=%r%"'
) do (
set pid=%%a
set ch=%%b
set ch=!ch:%r%=!
set ch=!ch:~,-2!
)
>nul 2>&1 taskkill /pid %pid:"=%
:ugly loop end
if %ch%==1 goto logon
if %ch%==2 goto account
if %ch%==3 goto exit
exit /b
:logon
echo logon &pause&exit/b
:account
echo account &pause&exit/b
:exit
echo exit &pause&exit/b
:home
color 0b
title Logon Screen
mode con lines=15 cols=27
cls
echo Chat Login
echo ___________________________
echo 1.Logon
echo.
echo 2.Create an Account
echo.
echo 3.Exit
echo ___________________________
echo.
set /p ch=Choice Number:
set ch=!ch:"=!
if not "%ch%"=="1" if not "%ch%"=="2" if not "%ch%"=="3" (
color 0c
echo Please enter a valid number
ping localhost -n 2 >nul
goto home
)
start /min cmd /k mode con lines=1 cols=14 ^&set/p %r%!ch!=
OR:
将最后一行更改为
`exit/b !ch!`<br>
而不是:丑陋的循环标签插入此:
`set ch=%errorlevel%`
这简单得多了!