我试图运行“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。

你们有什么建议吗?

最佳答案

我的建议是删除所有上述内容,然后改为WNetAddConnection 1。

至少如果我正确地解释了上面的内容,它似乎是这样的东西的一个真正的round回版本:

WNetAddConnection(getServerIP(), NULL, NULL);

如果GetServerIP返回一个QString,则可能需要添加一个对toAscii(或toLatin1,toLocal8Bit等)的调用,以将其转换为某种东西,WNetAddConnection知道如何处理。

  • WNetAddConnection2WNetAddConnection3。 Microsoft正式推荐后者,但是您似乎不需要它们提供的任何其他功能。
  • 10-06 00:39