[JavaScript] 纯文本查看 复制代码
.版本 2
.子程序 执行CMD, 文本型, , 1
.参数 命令行, 文本型
.参数 即时回显, 子程序指针, 可空
.局部变量 SECURITY_ATTRIBUTES, SECURITY_ATTRIBUTES
.局部变量 STARTUPINFO, STARTUPINFO_short
.局部变量 PROCESS_INFORMATION, PROCESS_STRUCTURE
.局部变量 txt, 字节集
.局部变量 len, 整数型
.局部变量 hWrite, 整数型
.局部变量 hRead, 整数型
.局部变量 EXIT, 整数型
.局部变量 fanhui, 文本型
.局部变量 linshi, 文本型
.局部变量 canshu, 整数型, , "1"
.局部变量 _pid, 整数型
.局部变量 GetEpid, 整数型
SECURITY_ATTRIBUTES.nLength = 12
SECURITY_ATTRIBUTES.lpSecurityDescriptor = 0
SECURITY_ATTRIBUTES.bInheritHandle = 1
CreatePipe (hRead, hWrite, SECURITY_ATTRIBUTES, 0)
STARTUPINFO.cb = 68
STARTUPINFO.dwFlags = 位或 (1, 256)
STARTUPINFO.wShowWindow = 0 ' 0不显示 1显示
STARTUPINFO.hStdOutput = hWrite
STARTUPINFO.hStdError = hWrite
.如果 (取操作系统类别 () ≤ 2)
CreateProcessA (0, “command.com /c ” + 命令行, 0, 0, 真, 0, 0, 0, STARTUPINFO, PROCESS_INFORMATION)
' 调试输出 (11)
.否则
CreateProcessA (0, “cmd.exe /c ” + 命令行, 0, 0, 真, 0, 0, 0, STARTUPINFO, PROCESS_INFORMATION)
.如果结束
' 调试输出 (333, , hWrite)
CloseHandle (hWrite)
.判断循环首 (len ≠ -1)
PeekNamedPipe (hRead, 0, 0, 0, len, 0)
.如果 (len ≠ 0)
txt = 取空白字节集 (1024)
ReadFile (hRead, txt, 1023, len, 0)
linshi = 取字节集数据 (txt, 10, )
.如果真 (是否为空 (即时回显) = 假)
canshu [1] = lstrcpyn (linshi, linshi, 0)
' 调试输出 (“canshu [1]”, canshu [1], )
.如果真 (CallWindowProcA ({ 85, 139, 236, 86, 139, 117, 16, 141, 78, 255, 133, 201, 124, 21, 139, 69, 12, 141, 4, 136, 65, 139, 16, 137, 85, 16, 255, 117, 16, 131, 232, 4, 73, 117, 242, 255, 85, 8, 137, 69, 12, 139, 69, 20, 133, 192, 116, 13, 141, 4, 181, 0, 0, 0, 0, 137, 69, 16, 3, 101, 16, 139, 69, 12, 94, 93, 194, 16, 0 }, 即时回显, canshu, 1, 假))
CloseHandle (hRead)
跳出循环 ()
.如果真结束
.如果真结束
fanhui = fanhui + linshi
.否则
GetExitCodeProcess (PROCESS_INFORMATION.hProcess, EXIT)
' 调试输出 (“GetExitCodeProcess”, EXIT, )
.如果真 (EXIT ≠ 259)
CloseHandle (hRead)
跳出循环 ()
.如果真结束
.如果结束
处理事件 ()
.判断循环尾 ()
返回 (fanhui)