Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: crazymonkey от Январь 15, 2013, 21:27



Название: QProcess запуск net use
Отправлено: crazymonkey от Январь 15, 2013, 21:27
Задача следующая
выполнить net use, распарсить вывод.
сделано так:
Код:
    QProcess *connected = new QProcess(0);
    QString exec="net use";
    QStringList params;
    params << "\\\\" + getServerIP();
    connected->start(exec,params);
    qDebug() << "exec process";
    connected->waitForFinished();
    qDebug() << connected->readAll() << connected->exitStatus();;
    delete connected;
В итоге в readAll пусто, exitStatus = 0

Пожалуйста ткните носом  :)


Название: Re: QProcess запуск net use
Отправлено: Serr500 от Январь 16, 2013, 09:08
Код:
QString exec="net";
QStringList params;
params << "use";
params << "\\\\" + getServerIP();
connected->start(exec,params);
В вашем варианте оно пытается запустить бинарник "net<space>use.exe". Интересно, что другой вариант метода start работает в подобном случае корректно:
Код:
connected->start(QString("net use %1").arg(getServerIP));


Название: Re: QProcess запуск net use
Отправлено: Alex Custov от Январь 16, 2013, 16:00
Ткнуть носом можно только в доку, там всё описано.

http://doc.qt.digia.com/qt/qprocess.html#start
http://doc.qt.digia.com/qt/qprocess.html#start-2


Название: Re: QProcess запуск net use
Отправлено: crazymonkey от Январь 17, 2013, 00:13
Платформо-зависимое решение
WNetAddConnection
работает замечательно.
Но спасибо за ответы.