Há duas questões que estão a perturbar-me:
Criei um software muito simples para chamar o comando "sfc" do windows com permissões de segurança, por causa de um tópico daqui do forum
#include <stdio.h>
# include <stdlib.h>
main ()
{
system("runas /user:Administrador /program sfc"
getchar ();
}
O programa executa normalmente, mas encontrei a seguinte dúvida:1º Antes de abrir o "sfc" ele pede a palavra-passe do usuário como se fosse um "pause", gostaria de saber se há uma maneira de colocar a password dentro da linha de código para executar directamente sem a paragem para pedir a passeword.
2º É sabido que o "sfc" apenas executa em modo DOS, para executar em NT, precisamos de aumentar parâmetros como o "/scannow".
Da forma que o software está, quando insiro a password a janela do DOS abre e fecha instantaneamente, pro isso necessito de aumentar um parâmetro, mudando a 5ª linha de código:
de system("runas /user:Administrador /program sfc"
para system("runas /user:Administrador /program sfc /scannow"
Outra vez surge um problema, o sfc /scannow é um parâmentro composto e precisa ser escrito entre aspas: code system("runas /user:Administrador /program "sfc /scannow""
e aí o programa dá um erro.Resumindo:
1º Ele dá um erro na janela do dos ao executar porque não existem aspas no comando composto se escrito dessa forma:
system("runas /user:Administrador /program sfc /scannow"
2º Ele dá um erro no compilador se executado com aspas system("runas /user:Administrador /program "sfc /scannow""