|
地下
发表于 2024-10-22 13:06:33
|
只看该作者
四川省宜宾市
|
取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 ) |
|