我尝试运行“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。
你们有什么建议吗?
答案 0 :(得分:1)
我的建议是删除以上所有内容,然后调用WNetAddConnection 1 。
至少如果我正确地解释你上面的内容,它似乎是一个非常迂回的版本:
WNetAddConnection(getServerIP(), NULL, NULL);
如果GetServerIP返回一个QString,你可能需要添加一个对toAscii
(或toLatin1,toLocal8Bit等)的调用来转换它以获得`WNetAddConnection知道如何处理的东西。
WNetAddConnection2
或WNetAddConnection3
。 Microsoft正式推荐后者,但您似乎不需要他们提供的任何额外功能。