|
本帖最后由 shituo 于 2023-2-27 19:43 编辑
逻辑型 改为 整数型
但是一直存在一个BUG 就是如果 显示的文本如果很长 有点耗时 可能显示不完整
8.3.0的模块可以完整显示 新版的 有BUG
返回值 = 系统_取DOS执行结果 (“adb shell ip addr show wlan0”, )
返回值 = 系统_取DOS执行结果 (“adb shell ifconfig”, &回调DOS)
测试的是这两个ADB的命令
|
SECURITY_ATTRIBUTES | | |
nLength | 整数型 | | | lpSecurityDescriptor | 整数型 | | | bInheritHandle | 整数型 | | |
|
系统_取DOS执行结果T | 字节集 | | |
命令行文本 | 字节集 | | | | 即时回显 | 子程序指针 | | | | UNICODE | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | hRead | 整数型 | | | hWrite | 整数型 | | | sa | SECURITY_ATTRIBUTES | | | dwSize | 整数型 | | | szCmdline | 字节集 | | | si | STARTUPINFO | | | pi | PROCESS_INFORMATION | | | dwBytesInStdOut | 整数型 | | | isRes | 逻辑型 | | | dwExitCode | 整数型 | | | szTemp | 字节集 | | | szBuf | 字节集 | | |
sa.nLength = 12 sa.lpSecurityDescriptor = #NULL sa.bInheritHandle = -1 isRes = CreatePipe (hRead, hWrite, sa, 0 )如果真 (isRes = 假)返回 ({ })si.cb = 68
si.dwFlags = 位或 ( #STARTF_USESTDHANDLES, #STARTF_USESHOWWINDOW )si.wShowWindow = #SW_HIDE si.hStdInput = hRead si.hStdOutput = hWrite si.hStdError = hWrite dwSize = 取字节集长度 (命令行文本 )szCmdline = 编码_Ansi到Unicode (选择 (取操作系统类别 () ≤ 2, “command.com /c ”, “cmd.exe /c ”), 真) + 命令行文本 szCmdline = szCmdline + 取空白字节集 ( #MAX_PATH × 2 - dwSize ) isRes = CreateProcessW ( #NULL, 取指针_字节集型 (szCmdline ), 取数据_通用型 (sa ), #NULL, 真, 0, #NULL, #NULL, si, pi )CloseHandle (hWrite )如果真 (isRes = 假)CloseHandle (hRead )返回 ({ })CloseHandle (pi.hThread)WaitForInputIdle (pi.hProcess, 1000 ) 判断循环首 (dwBytesInStdOut ≠ -1 )PeekNamedPipe (hRead, #NULL, 0, #NULL, dwBytesInStdOut, #NULL )如果 (dwBytesInStdOut > 0 )szTemp = 取空白字节集 (dwBytesInStdOut )ReadFile (hRead, szTemp, dwBytesInStdOut, dwBytesInStdOut, #NULL )szBuf = szBuf + szTemp 如果真 (是否为空 (即时回显 ) = 假)如果 (UNICODE )szTemp = A2W_CP (szTemp, #CP_gb2312 )szTemp = szTemp + { 0 }isRes = 程序_执行整数子程序 (即时回显, 取指针_字节集型 (szTemp), , ) ≠ 0如果真 (isRes )跳出循环 ()GetExitCodeProcess (pi.hProcess, dwExitCode )如果真 (dwExitCode ≠ #STILL_ACTIVE )跳出循环 ().如果结束 系统_处理事件 ()sleep (1 )判断循环尾 ()CloseHandle (pi.hProcess )CloseHandle (hRead )如果真 (szBuf = { })返回 ({ })如果 (UNICODE )返回 (A2W_CP (szBuf, #CP_gb2312 )) szBuf = szBuf + { 0 }返回 (szBuf)
补充内容 (2023-3-1 12:58):
最新版11.0.5还没有修复 |
|