Это не сработает.Этот код:
stratInfo->Arguments = "/C powercfg -attributes SUB_PROCESSOR 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 -ATTRIB_HIDE";
stratInfo->Arguments = "/C powercfg -attributes SUB_PROCESSOR 40fbefc7-2e9d-4d25-a185-0cfd8574bac6 -ATTRIB_HIDE";
не устанавливает два аргумента.Он устанавливает строку аргумента, а затем перезаписывает ее.
Если вы хотите выполнить это дважды, вам придется сделать что-то вроде:
void RunProc(System::String ^arguments)
{
System::Diagnostics::Process ^process = gcnew System::Diagnostics::Process();
System::Diagnostics::ProcessStartInfo ^startInfo = gcnew System::Diagnostics::ProcessStartInfo();
startInfo->FileName = "cmd.exe";
startInfo->Arguments = arguments;
process->StartInfo = startInfo;
process->Start();
}
RunProc("/C powercfg -attributes SUB_PROCESSOR 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 -ATTRIB_HIDE");
RunProc("/C powercfg -attributes SUB_PROCESSOR 40fbefc7-2e9d-4d25-a185-0cfd8574bac6 -ATTRIB_HIDE");
Конечно, вы захотитедобавить обработку ошибок и т. д., особенно в случае, когда текущий процесс не имеет необходимых разрешений.