本帖最后由 smooth 于 2014-2-7 18:24 编辑
回复 19# hnfeng #include <Constants.au3>
$GUICtrlRead2 = ""
$foom = Run(@ComSpec & " /c (for /f ""tokens=*"" %i in ('sqlcmd -U sa -P " & $GUICtrlRead2 & " ^| findstr ""缺少参数""') do @echo %i) ", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Sleep(500)
For $i = 1 To 50
If ProcessExists("cmd.exe") Then ProcessClose("cmd.exe")
If ProcessExists("sqlcmd.exe") Then ProcessClose("sqlcmd.exe")
Next
$Textm = StdoutRead($foom)
If StringInStr($Textm, "缺少参数") Then
MsgBox(16, "密码错误", $Textm, "")
Else
MsgBox(16, "密码错误", "SQL Server数据库sa账户密码正确!", "")
EndIf
非常奇怪啊,当密码为空时,也即是执行sqlcmd -U sa -P 时,虽然cmd窗口也显示信息,但是却检测不到。当密码是正确的时候,好像就直接进入了SQLCMD窗口,没有看到cmd窗口,这种情况就更不晓得怎么去检测了。目前只能检测密码错误时的cmd窗口信息。 |