Russian Qt Forum

Qt => Работа с сетью => Тема начата: forallstuff от Август 05, 2011, 16:06



Название: Подключение сетевого диска
Отправлено: forallstuff от Август 05, 2011, 16:06
Необходимо в Win подключить сетевой диск. Делаю следующим образом отдаю
QProcess  команду (net use ) и т.д. Проблема заключается в том, что совершенно неясно как получить код выполнения операции net use. Используя метод QProcess start() затем waitForFinished() программа зависает и не возвращает никакого результата.


Название: Re: Подключение сетевого диска
Отправлено: Пантер от Август 05, 2011, 16:09
Вроде, так. Писал по памяти.
Код
C++ (Qt)
QStringList params;
params << "/C" << "net" << "use" << .....
process.start ("cmd", params);
 


Название: Re: Подключение сетевого диска
Отправлено: forallstuff от Август 05, 2011, 16:32
Код:
QStringList params;
    params<<proc;
    process.start("cmd.exe", params);
    if (!process.waitForStarted())
             return false;

    if (!process.waitForFinished())
             return false;
    qDebug("finished");
Так и сделал, но до строчки qDebug управление никогда не доходит, все висит на waitForFinished, что мешает определить был ли подключен диск.


Название: Re: Подключение сетевого диска
Отправлено: Пантер от Август 05, 2011, 16:35
Я сейчас под Линухом и не могу точно глянуть. Запусти в консоли
Код:
cmd /?
и посмотри ключик на счет "выполнить команду и завершиться".


Название: Re: Подключение сетевого диска
Отправлено: forallstuff от Август 05, 2011, 17:37
 QString single = " net use z: \\\\192.168.0.9\\mproject **** /USER:mproject  ";
  process.start(single);
Все успешно отработало, спасибо.