Board logo

标题: [求助]难道"论坛"没有人能解决这个问题.. [打印本页]

作者: Shinaterry     时间: 2008-3-27 13:09    标题: [求助]难道"论坛"没有人能解决这个问题..
出处:

批处理输入密码但不显示字符的代码

环境:

Microsoft Windows XP Professional Service Pack 2.0
--
Windows Registry Editor (Regedit) 5.1

目的: 锁定DOS, 密码进入(*轻保护)..

首先, 新建批处理(D:\login.bat) 内容如下:


@echo off

chcp 437>nul&graftabl 936>nul

echo hP1X500Pf3/f1/5++u5x>in.com

set /p password=请输密码:<nul

for /f "tokens=*" %%i in ('in.com') do set password=%%i

del in.com

echo.

echo The Password is:"%password%"

pause


此时, 直接双击运行login.bat, 成功实现密码输入隐藏、显示中文等等(一切正常)

但是, 一旦设置注册表.AutoRun="D:\login.bat"之后..

运行: cmd

马上挂了 (原因: 估计是因为32位程序与16位程序之间不断互相切换, 直至死机..)

莱鸟求救, 请问大虾如何解决?

不胜感激..

Last edited by Shinaterry on 2008-4-15 at 12:27 AM ]

作者: slore     时间: 2008-3-28 00:02
貌似直接双击 直接输出 密码是 ""
没有输入的机会?

作者: Shinaterry     时间: 2008-3-28 00:32
你双击运行后, 直接输入然后回车就可以看见了..

作者: slore     时间: 2008-3-28 00:35
我直接双击。。。直接到PAUSE了……没有输入的机会。。。

作者: Shinaterry     时间: 2008-3-28 11:30
不会吧! 怎么我这边就正常?

作者: Shinaterry     时间: 2008-3-28 22:30
@slore

请教两个问题:

1. set /p 可以接收按下"回车"前键盘输入的一系列字符, 请问有没有办法实现在不按"回车"的情况下只能接收单个字符?

2. 如何限定只能输入半角字符(A-Za-z0-9..)?

作者: slore     时间: 2008-3-28 22:41
1.
choice命令。。。XP下默认没有(好像2K有),可以从网上下载。

2.
自己对输入后的数据做个检测吧。
不满足抛出错误提示,然后 goto到输入前,重新输入……

作者: Shinaterry     时间: 2008-3-29 01:07
Originally posted by slore at 2008-3-28 10:41 PM:
自己对输入后的数据做个检测吧。


如何取字符的ASCII编码? (用于判断)

作者: abcd     时间: 2008-3-29 04:45
试试findstr里的简单正则吧

作者: Shinaterry     时间: 2008-3-30 16:24
请问choice命令能不能接收"回车"与"退格"?

作者: abcd     时间: 2008-3-31 13:28
建议楼主还是用汇编写一段吧,

用16h号中断的1h号输入,判断,再用10h号中断的0eh号输出。

作者: Shinaterry     时间: 2008-3-31 14:15
作者: Shinaterry     时间: 2008-3-31 14:16
re: abcd -> 谢谢..

Last edited by Shinaterry on 2008-4-3 at 11:50 AM ]

作者: Shinaterry     时间: 2008-4-3 23:49
UP

作者: Shinaterry     时间: 2008-4-4 15:07
UP 大家帮帮忙测试一下嘛..

作者: abcd     时间: 2008-4-4 15:13
难道是因为in.com路径原因??

把in.com的写上绝对路径试试??

作者: Shinaterry     时间: 2008-4-4 23:10
原本我也是这样想, 但是结果也是一样..

或者你也测试一下, 看看结果是否一样..

作者: Shinaterry     时间: 2008-4-5 18:51
UP UP UP ..

作者: Shinaterry     时间: 2008-4-13 00:28
-_-!!! 难道使用过这段代码的高手, 都没有遇到过这个问题?

作者: Shinaterry     时间: 2008-4-15 00:26
伤心一UP

作者: slore     时间: 2008-4-15 00:44
Originally posted by Shinaterry at 2008-4-13 00:28:
-_-!!! 难道使用过这段代码的高手, 都没有遇到过这个问题?


的确没有遇到……

根本没有必要设置密码。。。
你作判断还不是明文规定?
汗~

作者: Shinaterry     时间: 2008-4-15 02:12
判断是密文的, 已经实现, 传参调用C++程序验证..

作者: slore     时间: 2008-4-15 02:53
你既然可以用C++写那个,那么直接用C++把这个写了吧。