1

I trying to run "net use \server_ip" and parse result. Platform - Windows

I have the following code:

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;

But readAll() reurns "" and exitStatus() returns 0.

Do you guys have any suggestion?

4

1 に答える 1

1

私の提案は、上記のすべてを削除し、代わりにWNetAddConnection1を呼び出すことです。

少なくとも私があなたが上に持っているものを正しく解釈しているなら、それはこのようなものの本当に回りくどいバージョンのようです:

WNetAddConnection(getServerIP(), NULL, NULL);

GetServerIPがQStringを返す場合は、への呼び出しtoAscii(またはtoLatin1、toLocal8Bitなど)を追加して変換し、`WNetAddConnectionが処理方法を知っているものを取得する必要がある場合があります。


  1. またはWNetAddConnection2またはWNetAddConnection3。Microsoftは後者を公式に推奨していますが、それらが提供する追加機能は必要ないようです。
于 2013-01-15T20:16:12.983 に答える