1

我试图运行“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() reurns "" 并且 exitStatus() 返回 0。

你们有什么建议吗?

4

1 回答 1

1

我的建议是删除以上所有内容,并改为调用WNetAddConnection 1

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

WNetAddConnection(getServerIP(), NULL, NULL);

如果GetServerIP返回一个QString,你可能需要添加对toAscii(或toLatin1、toLocal8Bit等)的调用来转换它以获得一些`WNetAddConnection知道如何处理的东西。


  1. WNetAddConnection2WNetAddConnection3。微软官方推荐后者,但您似乎不需要它们提供的任何额外功能。
于 2013-01-15T20:16:12.983 回答