下你所需,载你所想!
汇集开发技术源码资料

多线程基本操作和IP基本操作工具源码

:82.603KB :1 :2019-12-27 10:39:15

部分简介

CreateProcess_短整数 (0, 命令行文本, 0, 0, 真, 0, 0, 0, STARTUPINFO, PROCESS_INFORMATION) ' 创建一个新进程,并且设置读写管道,创建成功后,进程会自动再创建一个写管道端口
CloseHandle (hWrite) ' 因为我们开始已经创建了一个写管道端口,现在进程创键时又自动创键了一个写管道端口,所以应关闭多余的管道写端口
.判断循环首 (Length ≠ -1) ' 制造一个无限循环
PeekNamedPipe (hRead, 0, 0, 0, Length, 0) ' 查看管道中是否有数据
.如果 (Length ≠ 0)
txt = 取空白字节集 (1024)
ReadFile (hRead, txt, 1023, Length, 0) ' 从管道中读取数据
临时 = 取字节集数据 (txt, #文本型, )
.如果真 (是否为空 (即时回显) = 假)
参数 [1] = _取指针_文本型 (临时, 临时, 0)
.如果真 (_动态调用子程序1 (#图片1, 即时回显, 参数, 1, 假))
CloseHandle (hRead)
跳出循环 ()
.如果真结束

.如果真结束
返回值 = 返回值 + 临时
.否则
GetExitCodeProcess (PROCESS_INFORMATION.进程句柄, ExitCode) ' 查看指定进程是否已结束
.如果真 (ExitCode ≠ 259) ' 因为会有程序退出来了,但管道中还有数据的情况,所以必须在管道中没有数据的情况下判断程序是否已结束,这时才能中止循环!
CloseHandle (hRead)
跳出循环 ()
.如果真结束

.如果结束
.如果真 (超时时间 > 0 且 取启动时间 () - 开始时间 ≥ 超时时间) ' 进行超时判断
.如果 (进程信息.进程标识符 = 0)
进程_命令行取进程信息 (命令行文本, 进程信息)
.否则
结束进程 (进程信息.进程标识符) ' 结束进程并关闭管道
CloseHandle (hRead)
跳出循环 ()
.如果结束

.如果真结束

_处理事件 ()
.判断循环尾 ()

多线程基本操作和IP基本操作工具源码

热门推荐

相关文章