Я пытаюсь запустить «net use \ server_ip» и проанализировать результат. Платформа — Windows
У меня есть следующий код:
QProcess *prc = new QProcess(0);
QString exec="net use";
QStringList params;
params << "\\\\" + getServerIP();
prc->start(exec,params);
qDebug() << "exec process";
prc->waitForFinished();
qDebug() << prc->readAll() << prc->exitStatus();;
delete connected;
Но readAll () возвращает «», а exitStatus () возвращает 0.
Ребята, у вас есть предложения?
Мое предложение будет удалить все вышеперечисленное и позвонить WNetAddConnection1 вместо.
По крайней мере, если я правильно истолковываю то, что у вас есть выше, похоже, это действительно окольная версия чего-то вроде этого:
WNetAddConnection(getServerIP(), NULL, NULL);
Если GetServerIP возвращает QString, вам может потребоваться добавить вызов toAscii
(или toLatin1, toLocal8Bit и т. д.), чтобы преобразовать его, чтобы получить что-то `WNetAddConnection знает, как иметь дело.
WNetAddConnection2
или же WNetAddConnection3
, Microsoft официально рекомендует последнее, но вам, похоже, не нужны какие-либо дополнительные возможности, которые они предоставляют.Других решений пока нет …