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();
}
相关文章
|
3月前
Qt 布局管理之 停靠窗口QDockWidget
Qt 布局管理之 停靠窗口QDockWidget
74 0
|
5月前
08 QT - Qt窗口坐标体系
08 QT - Qt窗口坐标体系
24 0
|
Windows
关于 Qt设置置顶窗口,透明部分显示黑色底色(已设置透明窗口) 的解决方法
关于 Qt设置置顶窗口,透明部分显示黑色底色(已设置透明窗口) 的解决方法
关于 Qt设置置顶窗口,透明部分显示黑色底色(已设置透明窗口) 的解决方法
|
计算机视觉
Qt实用技巧:实现不规则窗口的鼠标消息穿透,包括穿透到桌面和穿透到父窗口
Qt实用技巧:实现不规则窗口的鼠标消息穿透,包括穿透到桌面和穿透到父窗口
Qt实用技巧:实现不规则窗口的鼠标消息穿透,包括穿透到桌面和穿透到父窗口
|
API 计算机视觉
Qt实用技巧:自定义窗口标题栏
Qt实用技巧:自定义窗口标题栏
Qt实用技巧:自定义窗口标题栏
|
计算机视觉 Windows
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
Qt实用技巧:实现窗口透明的五种方法
|
1月前
|
测试技术 API UED
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
【Qt 应用开发 】初步理解 Qt窗口中的模态性应用
70 1
|
3月前
Qt 控件大小随着窗口的大小而变化设置
Qt 控件大小随着窗口的大小而变化设置
61 0
|
3月前
|
Linux
Qt实现多文档窗口
Qt实现多文档窗口
|
10月前
使用QT的QProcess执行cmd命令【记录】
使用QT的QProcess执行cmd命令【记录】
1091 0

热门文章

最新文章

推荐镜像

更多