本帖最后由 VisualEleven 于 2012-09-06 13:56:22 编辑

解决方案 »

  1.   

    strcat(szbuffer,"select * from sms;\r\n");
    if (!WriteFile(stdOutPipeWt,sqlCommand,strlen(sqlCommand),&stdlen,0))//这次写入的命令,在读的时候是原封不动的被读出来了,没有执行。只能执行两次命令,,,为什么?
    ------------------
    你直接调用abc.exe的时候,能成功么?
    还有,你断点调试一下,看看每次即将writeFile写入的参数对不对
      

  2.   

    谢谢上面的回答,上面的问题只是一个例子而已,我需要下面的操作,
    通过管道执行以下的操作,
    第一步,先执行adb shell,
    等待返回后,在执行su,
    检测返回的结果(这一步返回的结果是SU,感觉上面的SU就没有执行。)希望知道的朋友,能进来解答。
      

  3.   

    多加一些Log信息等,看看具体代码运行到什么地方出错了
      

  4.   

      if (stdlen)    {    break;    } 这块不对吧,应该是
      if (!stdlen)    {    break;    }