|
|
取DOS返回文本1 | 整数型 | | |
命令行文本 | 文本型 | | | | 即时回显 | 子程序指针 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | SECURITY_ATTRIBUTES | SECURITY_ATTRIBUTES | | | STARTUPINFO | STARTUPINFO_短整数 | | | PROCESS_INFORMATION | _进程结构 | | | txt | 字节集 | | | len | 整数型 | | | hWrite | 整数型 | | | hRead | 整数型 | | | EXIT | 整数型 | | | 返回值 | 文本型 | | | 临时 | 文本型 | | | 参数 | 整数型 | | 1 | 进程ID | 整数型 | | | 如果真 (命令行文本 = “”)返回 (“”)SECURITY_ATTRIBUTES.nLength = 12 SECURITY_ATTRIBUTES.lpSecurityDescriptor = 0 SECURITY_ATTRIBUTES.bInheritHandle = 1 CreatePipe (hRead, hWrite, SECURITY_ATTRIBUTES, 0 ) STARTUPINFO.cb = 68 STARTUPINFO.dwFlags = 位或 ( #STARTF_USESHOWWINDOW, #STARTF_USESTDHANDLES )STARTUPINFO.wShowWindow = #SW_HIDE STARTUPINFO.hStdOutput = hWrite STARTUPINFO.hStdError = hWrite 如果 (取操作系统类别 () ≤ 2 )进程ID= _创建新进程_短整数 (0, “command.com /c ” + 命令行文本, 0, 0, 真, 0, 0, 0, STARTUPINFO, PROCESS_INFORMATION ) 进程ID= _创建新进程_短整数 (0, “cmd.exe /c ” + 命令行文本, 0, 0, 真, 0, 0, 0, STARTUPINFO, PROCESS_INFORMATION ) _关闭对象 (hWrite ) 判断循环首 (len ≠ -1 ) PeekNamedPipe (hRead, 0, 0, 0, len, 0 ) 如果 (len ≠ 0 )txt = 取空白字节集 (1024 )_读出文件中数据 (hRead, txt, 1023, len, 0 ) 临时 = 取字节集数据 (txt, #文本型, )如果真 (是否为空 (即时回显 ) = 假)参数 [1 ] = _取指针_文本型 (临时, 临时, 0 )如果真 (_动态调用子程序 ( #动态调用代码, 即时回显, 参数, 1, 假)) _关闭对象 (hRead )跳出循环 ()返回值 = 返回值 + 临时_取中断进程退出代码 (PROCESS_INFORMATION.进程句柄, EXIT ) 如果真 (EXIT ≠ #STILL_ACTIVE ) _关闭对象 (hRead ) 跳出循环 ()处理事件 ()判断循环尾 ()返回 (进程ID ) |
|