Russian Qt Forum
Ноябрь 24, 2024, 00:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Подключение сетевого диска  (Прочитано 3900 раз)
forallstuff
Гость
« : Август 05, 2011, 16:06 »

Необходимо в Win подключить сетевой диск. Делаю следующим образом отдаю
QProcess  команду (net use ) и т.д. Проблема заключается в том, что совершенно неясно как получить код выполнения операции net use. Используя метод QProcess start() затем waitForFinished() программа зависает и не возвращает никакого результата.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 05, 2011, 16:09 »

Вроде, так. Писал по памяти.
Код
C++ (Qt)
QStringList params;
params << "/C" << "net" << "use" << .....
process.start ("cmd", params);
 
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
forallstuff
Гость
« Ответ #2 : Август 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, что мешает определить был ли подключен диск.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Август 05, 2011, 16:35 »

Я сейчас под Линухом и не могу точно глянуть. Запусти в консоли
Код:
cmd /?
и посмотри ключик на счет "выполнить команду и завершиться".
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
forallstuff
Гость
« Ответ #4 : Август 05, 2011, 17:37 »

 QString single = " net use z: \\\\192.168.0.9\\mproject **** /USER:mproject  ";
  process.start(single);
Все успешно отработало, спасибо.
« Последнее редактирование: Август 05, 2011, 17:43 от forallstuff » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.168 секунд. Запросов: 23.