大家好,又见面了,我是你们的朋友全栈君。
SECURITY_ATTRIBUTES.nLength = 12
SECURITY_ATTRIBUTES.lpSecurityDescriptor = 0
SECURITY_ATTRIBUTES.bInheritHandle = 真
CreatePipe (hRead, hWrite, SECURITY_ATTRIBUTES, 0)
STARTUPINFO.cb = 68
STARTUPINFO.dwFlags = 位或 (1, 256)
STARTUPINFO.wShowWindow = 0
STARTUPINFO.hStdOutput = hWrite
STARTUPINFO.hStdError = hWrite
CreateProcess (执行程序名, 参数, 0, 0, 真, 0, 0, 取文本左边 (执行程序名, 倒找文本 (执行程序名, “\”, , 假)), STARTUPINFO, PROCESS_INFORMATION)
CloseHandle (hWrite)
编辑框.是否允许多行 = 真
.判断循环首 (长度 ≠ -1) ‘ 制造一个无限循环
PeekNamedPipe (hRead, 0, 0, 0, 长度, 0) ‘ 查看管道中是否有数据
.如果 (长度 ≠ 0)
临时字节集 = 取空白字节集 (260)
ReadFile (hRead, 临时字节集, 260, 长度, 0) ‘ 从管道中读取数据
临时字节集 = 取字节集左边 (临时字节集, 长度)
临时字节集 = 子字节集替换 (临时字节集, { 10 }, { 13, 10 }, , )
临时文本 = 取字节集数据 (临时字节集, #文本型, )
.如果真 (取文本长度 (编辑框.内容) + 取文本长度 (临时文本) > 30000)
编辑框.内容 = “”
.如果真结束
编辑框.加入文本 (临时文本)
.否则
GetExitCodeProcess (PROCESS_INFORMATION.hProcess, EXIT) ‘ 判断是已经退出
.如果真 (EXIT ≠ 259)
CloseHandle (hRead) ‘ 关闭管道
跳出循环 ()
.如果真结束
.如果结束
处理事件 ()
.判断循环尾 ()
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/161724.html原文链接:https://javaforall.cn