Моя система 64-битная.У меня есть программа, которая вызывает команду "bcdedit.exe"
c ++ code:
ShellExecuteA(NULL, "open", "cmd.exe", "/c bcdedit.exe /?", NULL, SW_SHOWNORMAL);
Я скомпилировал в 32-битный Когда я запускаю его обратно "файл не найти" Когда я скомпилирован в 64бит, прогон пройден
Та же проблема существует в коде go go:
cmd := exec.Command("cmd.exe","/c","bcdedit.exe /?")
out, err := cmd.CombinedOutput()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(out))
Я обнаружил "bcdedit.exe" в другом каталоге:
C:\\Windows\\WinSxS\\amd64_microsoft-windows-b..iondata-cmdlinetool_31bf3856ad364e35_10.0.17134.471_none_69b0e05efb5a4702\\bcdedit.exe
Когда явызовите команду в этом каталоге, все прошло. Этот каталог отличается на каждом ПК
Как запустить 32-разрядную скомпилированную программу для этой команды на каждом ПК