Qt 调用CMD 并返回结果(隐藏窗口)

简介: Qt 调用CMD 并返回结果(隐藏窗口)
void Ocr()
{
    QString currentPath = QDir::currentPath();
    currentPath = currentPath + "/image_grab/ocr.bmp";
    string strCmd = "tesseract " + currentPath.toStdString() + " stdout";
    qDebug() << currentPath;
    char buf[10240] = { 0 };
    FILE* pf = NULL;
    AllocConsole();//新建窗口
    ShowWindow(GetConsoleWindow(), SW_HIDE);//隐藏
    if ((pf = _popen(strCmd.c_str(), "r")) == NULL)
    {
        return;
    }
    string strResult;
    while (fgets(buf, sizeof buf, pf))
    {
        strResult += buf;
    }
    _pclose(pf);
    unsigned int iSize = strResult.size();
    if (iSize > 0 && strResult[iSize - 1] == '\n')  // linux
    {
        strResult = strResult.substr(0, iSize - 1);
    }
    QString result = QString(QString::fromLocal8Bit(strResult.c_str()));
    QStringList resList;
    resList = result.split("\n");
    result = resList.join(" ");
    QMessageBox::information(this, "Ocr result", result);
    /// 以管理员的身份运行程序并返回结果
    /// runas
    //string cmd = string("runas /noprofile /user:mymachine\\administrator \"cmd /c ") + "cmd /c chcp 65001 && ping www.baidu.com -n 1 -w 1000" + "\"";
    //strRe = getCmdResult(cmd);
    //qDebug() << strRe.c_str();
}
相关文章
|
4月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
818 4
【Qt 学习笔记】Qt窗口 | 标准对话框 | 消息对话框QMessageBox
|
4月前
|
C++ Windows
Qt 窗口置顶
Qt 窗口置顶
132 1
|
4月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog
906 4
|
4月前
|
数据安全/隐私保护
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
【Qt 学习笔记】Qt窗口 | 对话框 | 模态与非模态对话框的创建
456 4
|
4月前
|
搜索推荐 C++
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
【Qt 学习笔记】Qt窗口 | 对话框 | 创建自定义对话框
171 4
|
4月前
|
API UED
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
【Qt 学习笔记】Qt窗口 | 状态栏 | QStatusBar的使用及说明
561 4
|
4月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 输入对话框QInputDialog
337 3
|
4月前
|
数据可视化
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 字体对话框QFontDialog
112 3
|
4月前
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
【Qt 学习笔记】Qt窗口 | 标准对话框 | 颜色对话框QColorDialog
696 3