发现不会接受空格符,按如下修改一下即可接受空格: var AChr: Char; …… 把原来的这两行: APass:=APass+Trim(InBuf.Event.KeyEvent.AsciiChar); if Length(Trim(InBuf.Event.KeyEvent.AsciiChar))>0 then Write(PwdChar); 改为: AChr:=InBuf.Event.KeyEvent.AsciiChar; if (AChr=' ')or(Trim(AChr)<>'') then begin APass:=APass+AChr; Write(PwdChar); end; 即可。