Usando WinExec você pode executar qualquer comando do DOS. Para isto chame o COMMAND.COM passando como parâmetro a linha de comando a ser executada. O parâmetro /C é opcional e faz com que a janela do DOS seja fechada assim que o comando terminar. No exemplo abaixo estou executando a seguinte linha de comando: DIR C:\*.* WinExec('COMMAND.COM /C DIR C:\*.*', SW_SHOW);
Observações
Para que a janela do DOS não seja exibida, use SW_HIDE no lugar de SW_SHOW.
Assinar:
Postar comentários (Atom)
Popular Posts
-
Curso C# - MODULO BASICO Cap01 - Introdução ao Treinamento Cap02 - Conceitos Básicos da Programação Cap03 - Instalando o Visual...
-
Todos temos lido, visto e ouvido muita “propaganda” sobre insegurança nas redes wireless. Quem já não teve contato com redes desp...
-
Esse é um tutorial dos bons que ensina a criar um keylogger avançado no delphi 7, aprenda agora mesmo a capturar as teclas digitadas no seu ...
-
Curso JAVA - 16 DVDs Prof Neri Neitzke Nome do Autor:Prof Neri Neitzke Gênero:Video Aulas Ano de Lançamento:2012 Editora:Informaticon ...
-
Essas invasões podem não deixar nenhuma sequela ou rastro pois, se o invasor for realmente esperto, ele não irá prejudicar a conexão invad...
-
As estruturas de controle de fluxo são fundamentais para qualquer linguagem de programação. Sem elas só haveria uma maneira do programa s...
-
Servidor Para programar um servidor com sockets em Delphi, crie uma nova aplicação e inclua um componente SERVERSOCKET que está na palh...
-
Exitem vários tutoriais por ai que dizem ensinar a navegar anonimo na internet mas, em uma pesquisa superficial pude observar que há ...
-
Este é o criptografador Progmaster, criptografe seus dados afim de que ninguém possa reconhece-los a não ser você, muito fácil e simples...
-
Ótimo curso que ensina passo a passo criar um sistema para locadora em Delphi. . http://hotfile.com/dl/12954844/0d83653/Locadora.Parte-01...

- Arquivo -
-
►
2014
(1)
- ► Abril 2014 (1)
-
►
2013
(11)
- ► Setembro 2013 (2)
- ► Agosto 2013 (2)
- ► Julho 2013 (1)
- ► Março 2013 (1)
- ► Fevereiro 2013 (2)
- ► Janeiro 2013 (1)
-
►
2012
(8)
- ► Junho 2012 (1)
- ► Abril 2012 (6)
- ► Janeiro 2012 (1)
-
►
2011
(233)
- ► Dezembro 2011 (3)
- ► Novembro 2011 (4)
- ► Outubro 2011 (2)
- ► Setembro 2011 (3)
- ► Agosto 2011 (15)
- ► Julho 2011 (11)
- ► Junho 2011 (28)
- ► Abril 2011 (119)
- ► Março 2011 (6)
- ► Fevereiro 2011 (16)
-
▼
2010
(147)
- ► Dezembro 2010 (9)
- ► Novembro 2010 (11)
- ► Setembro 2010 (5)
- ► Agosto 2010 (5)
- ► Julho 2010 (7)
- ► Junho 2010 (5)
- ► Abril 2010 (11)
- ► Março 2010 (39)
- ▼ Fevereiro 2010 (5)
- ► Janeiro 2010 (46)

Olá jeferson.
ResponderExcluirFiz o seguinte teste no envento onclick de um botton:
"
procedure TForm1.Button1Click(Sender: TObject);
begin
WinExec('COMMAND.COM DIR C:\*.*', SW_SHOW);
end;
"
e o dos me retornou o seguinte erro:
"
pasta incorreta especificada p/localizaçao de COMMAND
excesso de parametros
"
gostaria de uma ajuda para executar.
desde já obrigado.
-Greed
No caso você tem que colocar /c ou /k logo depois de command porém, pode fazer isso de outras maneiras como, a exemplo do cmd ou pode até capturar os dados de saída do pront, veja;
ExcluirWinExec('COMMAND.COM /C Pause', SW_SHOW);
WinExec(PChar('cmd /k Pause'),sw_normal);
para obter mais informações sobre o command e o cmd abra o seu pront e digite cmd /? ou command /?
para executar um comando e capturar a saída do pront use isto:
Crie uma nova aplicação delphi:
Insira 1 memo e 1 botão
declare a seguinte função logo abaixo de {$R *.dfm}:
function PegarSaidaDOS(Comando, DiretorioTrabalho: string): string;
var
saSegunranca: TSecurityAttributes;
siInformacoesInicializacao: TStartupInfo;
piInformacaoDoProcesso: TProcessInformation;
hLeitura, hEscrita: THandle;
bOk, bHandle: Boolean;
Buffer: array[0..255] of AnsiChar;
BytesLidos: Cardinal;
Diretorio: string;
begin
Result := '';
with saSegunranca do
begin
nLength := SizeOf(saSegunranca);
bInheritHandle := True;
lpSecurityDescriptor := nil;
end;
CreatePipe(hLeitura, hEscrita, @saSegunranca, 0);
try
with siInformacoesInicializacao do
begin
FillChar(siInformacoesInicializacao, SizeOf(siInformacoesInicializacao), 0);
cb := SizeOf(siInformacoesInicializacao);
dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
wShowWindow := SW_Hide;
hStdInput := GetStdHandle(STD_INPUT_HANDLE);
hStdOutput := hEscrita;
hStdError := hEscrita;
end;
Diretorio := DiretorioTrabalho;
bHandle := CreateProcess(nil, PChar('cmd.exe /c ' + Comando), nil, nil, True, 0, nil,
PChar(Diretorio), siInformacoesInicializacao, piInformacaoDoProcesso);
CloseHandle(hEscrita);
if bHandle then
begin
try
repeat
bOk := ReadFile(hLeitura, Buffer, 255, BytesLidos, nil);
if BytesLidos > 0 then
begin
Buffer[BytesLidos] := #0;
Result := Result + Buffer;
end;
until not bOk or (BytesLidos = 0);
WaitForSingleObject(piInformacaoDoProcesso.hProcess, INFINITE);
finally
CloseHandle(piInformacaoDoProcesso.hThread);
CloseHandle(piInformacaoDoProcesso.hProcess);
end;
end;
finally
CloseHandle(hLeitura);
end;
end;
No evento onclick do botão insira:
memo1.Text := PegarSaidaDOS('SystemInfo',ExtractFilePath(Application.exename));
Veja o resultado. vlw até a próxima. ;)
Muito obrigado Jefferson. Nao entendi muito sobre como capturar a saida o pront, pois sou noob. Mas consegui resolver meu problema inicial.
ResponderExcluirEstou aprendendo bastante aqui no blog, vlw!
-Greed
Estamos sempre ai para ajudar... Caso você tenha alguma sugestão para publicação, algo que queira saber, tirar alguma dúvida etc... É só mandar um email ou escrever aqui mesmo nos comentários, que eu publico sobre o assunto. vlw t +.
ExcluirEstou atualizando seu keylogger, apenas adaptando algumas coisas ao meu alcance. Mais adiante gostaria de compartilhar as atualizações caso você permita caso não atrapalhe o super kl claro.
ExcluirPode me passar seu e-mail atual?
Obrigado.
-Greed
Claro, sem problemas, eu já ia atualizar o tutorial do kl...
Excluirpode me contactar pelo email: progmasterofficial@hotmail.com