我在格式化笔式驱动器时需要读取 diskpart 的输出。这是我的代码,用于在后台对其进行格式化。
QString exePath = "diskpart.exe";
QString arguments = "/s pendrive.txt";
ShellExecuteW(NULL, NULL, (LPCWSTR)exePath.toStdWString().data(), (LPCWSTR)arguments.toStdWString().data(), NULL, SW_HIDE);
pendrive.txt:
select disk 1
clean
create partition primary
select partition 1
active
format quick fs=ntfs
assign
如何读取输出以检查是否已成功完成所有事情?
我找到了:
QString arg ="diskpart /s pendrive.txt > output.txt";
但是我该如何使用呢?它是否正确?这是检查格式化是否成功的最佳方法吗?也许没有.txt
文件的其他解决方案会更好吗?
答案 0 :(得分:2)
由于您已经使用了Qt,为什么不使用QProcess
?这样可以节省您使用文本文件的麻烦。只需致电readAllStandardOutput
。您甚至可以检查提供finished
的{{1}}信号。