Logo Hardware.com.br
wagged
wagged Membro Senior Registrado
154 Mensagens 3 Curtidas

Dúvida na função system em C

#1 Por wagged 27/05/2011 - 19:28
Saudações comunidade;

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&quot;
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&quot;
para system("runas /user:Administrador /program sfc /scannow&quot;
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"&quot;
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&quot;
2º Ele dá um erro no compilador se executado com aspas
system("runas /user:Administrador /program "sfc /scannow"&quot;
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal