这肯定是一个奇怪的问题。
如果我直接打开命令提示符窗口(在开始时搜索 cmd,右键单击 > 在此处打开命令窗口,在 bat 文件中打开命令窗口,等等......)输入的所有命令都运行得很好。
如果我从我的 C++ 应用程序(system("cmd");
或QProcess::startDetached("cmd");
其他......)中打开命令提示符窗口,我输入的命令会抛出错误。
以下是一些在从我的应用程序打开的 cmd 中不起作用的命令:
vssadmin delete shadows /all
vssadmin list shadows
wmic
shadowcopy
等等......我得到了周围的错误Class not registered
。Initialization failure
与卷影副本有关的任何事情都不起作用。但同样奇怪的是,当 cmd 以传统方式打开(而不是从程序中)时,这些相同的命令工作得很好。两个 cmd 实例都具有管理员权限。
所以我的问题是,我打开 cmd 的方式如何影响某些命令是否有效?我所看到的一切都表明应该没有区别。