【发布时间】:2018-06-02 17:03:18
【问题描述】:
这是带有命令的 c++ 代码,用于在网络模式下以安全启动运行 Windows 并重新启动的命令,此代码仅在 32 位操作系统中运行,但在 64 位操作系统中仅会发生重启,但不会在安全启动模式下发生。
[注意]:我在管理模式下运行应用程序。
system("bcdedit /set safeboot network > Out.txt");
system("shutdown -r -f -t 0");
还有ShellExecute()
ShellExecute(0, L"open", L"cmd.exe", L"/C bcdedit /set safeboot network > Out.txt", 0, SW_HIDE);
ShellExecute(0, L"open", L"cmd.exe", L"/C shutdown -r -f -t 0 > Out.txt", 0, SW_HIDE);
我尝试像在管理模式下手动打开 CMD
c:\WINDOWS\system32>bcdedit /set safeboot network
The Operation completed successfully.
c:\WINDOWS\system32>shutdown -r -f -t 0
手动它可以工作(在安全启动中运行),但是当我尝试通过代码重新启动 Windows 时,但不在安全启动中。
如何让这个在 32 位和 64 位操作系统上都能工作?
【问题讨论】:
标签: c++ cmd 32bit-64bit bcdedit