使用的是网上搜索的代码,用到了CreatePipe,CreateProcess。
设置超时时间20s
::WaitForSingleObject(pi.hProcess, 20000);
命令1:cmd /c netstat -ano | findstr UDP | findstr :50001 能立刻返回结果。
如果直接打开命令提示符`netstat -ano | findstr UDP | findstr :50001`
命令2:cmd /c netstat -ano | findstr UDP | findstr :5353 超时了才返回。
如果直接打开命令提示符`netstat -ano | findstr UDP | findstr :5353`
奇怪 为什么会超时呢 数据过长吗?并没有搜索到相关的东西。
==============更新=============
修改为如下代码,可以立刻返回,为此准备去看看hProcess和hThread的区别。
::WaitForSingleObject(pi.hThread, 20000);