【发布时间】:2019-11-10 12:26:54
【问题描述】:
我正在创建一个 Windows 实用程序,它部分允许用户激活 Windows。当我使用system() 运行命令slmgr /ato 时,我收到错误“0x80004001 未实现(SWbemObjectEx)”。当我尝试从 cmd 执行相同的命令时,它工作正常。还应该注意的是,它不会每次都失败,有一半的时间它工作得很好。一开始我以为可能是我连续执行命令太快了,但是添加延迟似乎并没有什么不同。
void activateWindows(char* key)
{
EnableWindow(Main_activate_win, false);
char cmd[41];
sprintf(cmd, "slmgr /ipk %s", key);
system(cmd);
//Sleep(5000);
system("slmgr /ato");
EnableWindow(Main_activate_win, true);
}
编辑:似乎只有在安装到以前安装了不同版本的 Windows 的机器上时才会以这种方式失败。
【问题讨论】:
标签: c++ windows activation