您的位置:首页 > 其它

通过管道向CMD进程写新指令时回显More?

2015-02-28 08:42 169 查看
管道模式执行CMD程序后使用WriteFile函数写新指令,第三次时写入后回显出现More?,最后检查发现是由于写指令长度比实际指令长度多了一个字符导致!

void CExecCmdDlg::OnBnClickedBtnWrite()
{
    if (!UpdateData()) return;

    if (m_sCmd.IsEmpty())
    {
        MessageBox("未输入待执行的指令!", "错误", MB_ICONERROR);
        GetDlgItem(IDC_EDIT_DATA)->SetFocus();
        return;
    }

    m_sCmd += "\r\n";
    m_pipe->Write((LPVOID)m_sCmd.GetBuffer(), <span style="color:#ff0000;">m_sCmd.GetLength()+1</span>);//将此处的加1去除后正常
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: