Executar aplicativo em delphi oculto

Delphi

02/10/2012

olá pessoal,
Estou aqui mais uma vez pedindo ajuda!

é o seguinte estou tentando aqui não to conseguindo
um comando q quando clicar em um botão execute um aplicatico externo oculto e no outro verifique se ele esta oculte e mostre ele.
Se alguem poder me ajudar de já agradeço...

exemplo:
Botão1 executa'aplicativo' oculto
Botão2 'aplicatiovo' está oculto?
então mostre-me;
Cgm2k7 2013

Cgm2k7 2013

Curtidas 0

Respostas

Cgm2k7 2013

Cgm2k7 2013

02/10/2012

olá sera se alguem ae poderia me ajudar pf
GOSTEI 0
Deivison Melo

Deivison Melo

02/10/2012

Por favor, detalhe um pouco mais as suas necessidades para que com isso podermos ajudá-lo da melhor forma possível.

Você quer que sua aplicação seja executada em modo hidden (escondida)? É isso?
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

Por favor, detalhe um pouco mais as suas necessidades para que com isso podermos ajudá-lo da melhor forma possível.

Você quer que sua aplicação seja executada em modo hidden (escondida)? É isso?



quero em um form com 2 botões Botão1 executar um outro aplicativo chamado toolserver.exe oculto
e o Botão2 verificar se ele já esta aculto se tiver mostra-lo novamente sem reinicia-lo...
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

ajuda pessoal, é seu q os feras ae tira essa de letra!
GOSTEI 0
Deivison Melo

Deivison Melo

02/10/2012

Imagino que pelo conteúdo está tentando trabalhar com arquivos servidores de possíveis trojans.

Pesquise procure o trojan mantice que é feito em delphi ou pelo trojans frace (não sei nem mais se existe ainda esse site, era só com conteúdo de aplicações clientes/servidoras.

Espero ter ajudado, qualquer dúvida poste aqui!!
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

Imagino que pelo conteúdo está tentando trabalhar com arquivos servidores de possíveis trojans.

Pesquise procure o trojan mantice que é feito em delphi ou pelo trojans frace (não sei nem mais se existe ainda esse site, era só com conteúdo de aplicações clientes/servidoras.

Espero ter ajudado, qualquer dúvida poste aqui!!


não amigo não estou nessa onde de retardado não de mano de criar virus.!
estou querndo colocar um servidor de wow onde e executar o arquivo worldserver oculto e apertando um botão tirar ele do oculto ou seja mostra-lo novamente na tela
GOSTEI 0
Alisson Santos

Alisson Santos

02/10/2012

Caro colega, uma rotina simples de ser utilizada é o
Application.ShowMainForm := False;
, sendo que isso vai ser executado quando for aberto o formulário, caso queira fazer com que ele apareça seta para true.
Lembrando que existe outras formas de ser feito, essa é a mais simples de ser implementado sem criação de outras rotinas.
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

Caro colega, uma rotina simples de ser utilizada é o
Application.ShowMainForm := False;
, sendo que isso vai ser executado quando for aberto o formulário, caso queira fazer com que ele apareça seta para true.
Lembrando que existe outras formas de ser feito, essa é a mais simples de ser implementado sem criação de outras rotinas.


não minha propria aplicação e sim um aplicativo externo!
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

02/10/2012

Para executar uma aplicação externa de forma "escondida", acho que o comando WinExec serve. Exemplo:
 
WinExec('notepad', SW_HIDE);

Boa sorte.
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

Para executar uma aplicação externa de forma "escondida", acho que o comando WinExec serve. Exemplo:
 
WinExec('notepad', SW_HIDE);

Boa sorte.

sim amigo valeu
mas como eu volto ele ?
ou seja tira este 'notepad' do oculto sem ter de executa-lo de novo simplesmente tirar ele do oculto?
GOSTEI 0
Deivison Melo

Deivison Melo

02/10/2012




Quando se precisa executar algum programa externo, seja dos ou windows, pode-se usar o WinExec,
mas é preciso que a string q contém o comando a ser chamado esteja completa (concatenações e afins)
antes de passar para o WinExec}

var
parametros,comando : string;

begin
parametros := InputBox('Acesso','Digite os parâmetros','');
comando := 'cmd /c c:windowssystem32shutdown.exe ' + parametros;
//executa em janela normal
Winexec(comando,SW_SHOWNORMAL);
//executa minimizado
Winexec(comando,SW_SHOWMINIMIZED);
//executa maximizado
Winexec(comando,SW_SHOWMAXIMIZED);
//executa oculto, não mostra janela alguma
Winexec(comando,SW_HIDE);


Fonte:


http://www.planetadelphi.com.br/dica/6680/executando-programas-externos-com-parametros

Outros exemplos:


uses
ShellApi;

{ Start notepad }

ShellExecute(Handle, 'open', 'notepad.exe', '', nil, SW_SHOW);

WinExec('C:\Windows\notepad.exe', SW_SHOW);

{ Start notepad and load a file }

ShellExecute(Handle, 'open', 'notepad', 'c:\MyFile.txt', nil, SW_SHOW);

{ Open a txt file }

ShellExecute(Handle, 'open', 'c:\Readme.txt', nil, nil, SW_SHOW);


{ Calling "Dir" from the DOS-Prompt and redirect the output to a file }

{1. With Winexec }

procedure ExecuteShellCommand(cmdline: string; hidden: Boolean);
const
flags: array [Boolean] of Integer = (SW_SHOWNORMAL, SW_HIDE);
var
cmdbuffer: array [0..MAX_PATH] of Char;
begin
GetEnvironmentVariable('COMSPEC', cmdBUffer, SizeOf(cmdBuffer));
StrCat(cmdbuffer, ' /C ');
StrPCopy(StrEnd(cmdbuffer), cmdline);
WinExec(cmdbuffer, flags[hidden]);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
ExecuteShellCommand('dir C:\ > c:\temp\dirlist.txt', True);
end;


{2. With Shellexecute }

procedure ExecuteShellCommand(cmdline: string; hidden: Boolean);
const
flags: array[Boolean] of Integer = (SW_SHOWNORMAL, SW_HIDE);
var
cmdbuffer: array[0..MAX_PATH] of Char;
begin
GetEnvironmentVariable('COMSPEC', cmdBUffer, SizeOf(cmdBuffer));
ShellExecute(0,'open',cmdbuffer, PChar('/c' + cmdline), nil, flags[hidden]);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ExecuteShellCommand('copy file1.txt file2.txt', True);
end;


http://www.webcheats.com.br/forum/delphi-vb/403111-tutorial-trabalhando-com-winexec.html

GOSTEI 0
Alisson Santos

Alisson Santos

02/10/2012

Desculpe amigo, achei que seria a sua aplicação, mais o nosso colega deu uma resposta completa para essa duvida.
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

Ae amigos veleu muito bom estes exemplos testei aqui deu serto.

para o q eu quero ainda não deu.
Depois de executado o aplicativo oculto ou executar normal mesmo ae depois atravez de um botão ocultar e mostrar..

Veja o programa q estou tentando fazer:
[URL=http://imageshack.us/photo/my-images/820/restat.jpg/][IMG]http://imageshack.us/a/img820/1834/restat.jpg[/IMG][/URL]

Veja o fonte:
var
  Form1: TForm1;

implementation

{$R *.dfm}
function KillTask(ExeFileName: string): Integer;
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  Result := 0;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

  while Integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(ExeFileName))) then
      Result := Integer(TerminateProcess(
                        OpenProcess(PROCESS_TERMINATE,
                                    BOOL(0),
                                    FProcessEntry32.th32ProcessID),
                                    0));
     ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;


procedure TForm1.AdicionarClick(Sender: TObject);
var
 i: integer;
begin
  if  sOpenDialog1.Execute() then
   for i := 0 to sOpenDialog1.Files.Count - 1 do
   sListBox1.Items.Add(ExtractFileName(sOpenDialog1.Files.Strings[i]));
end;

procedure TForm1.IniciarClick(Sender: TObject);
begin
   shellexecute(handle,'open',pchar(sListbox1.Items.Strings[slistbox1.ItemIndex]),nil,nil,SW_HIDE);
end;

procedure TForm1.minimizarClick(Sender: TObject);
begin
   TrayIcon1.Visible:= true;
  Application.Minimize;
  Form1.Hide;
end;

procedure TForm1.Mostrar1Click(Sender: TObject);
begin
  TrayIcon1.Visible:= false;
  Form1.Show;
  WindowState:= wsNormal;
end;

procedure TForm1.Sair1Click(Sender: TObject);
begin
  TrayIcon1.Destroy;
  Form1.Close;
  Form1.Destroy ;
  Application.Terminate;
end;


end.


o Botão 'Iniciar' executa o aplicativo selecionado no listbox.

no botão 'mostrar' pegar o aplicativo q este selecionado no Listbox e desocultar ou oculta ele ou seja mostrar ele novamente na area de trabalho ou oculta ele da area de trabalho.

Bom! não se me exprecei bem espero q vcs consiga me enteder...

Desde já agradeço...
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

http://imageshack.us/a/img820/1834/restat.jpg
GOSTEI 0
Alisson Santos

Alisson Santos

02/10/2012

Deixa eu entendeu, você tem um listbox e quer escolher os arquivos que estão lá e oculta e mostrar qual está selecionado?
GOSTEI 0
Cgm2k7 2013

Cgm2k7 2013

02/10/2012

Deixa eu entendeu, você tem um listbox e quer escolher os arquivos que estão lá e oculta e mostrar qual está selecionado?


sim mas não é arquivo não é aplicativos
GOSTEI 0
Gilvanio Gonçalves

Gilvanio Gonçalves

02/10/2012

E ai Feras vão ficar só nas perguntas, ou vão dar a solucão para o colega, em todos os posts que abro aqui, para auxiliar
vejo só perguntas, se resolveu, deu certo, se nào deu avise, e nada de solução direta.

vou deixar esta com vcs e ver o resultado!.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

02/10/2012

Legal, Gilvanio. Eu já dei parte da solução, agora falta identificar o aplicativo em execução e torna-lo visível. Então por que você não posta a solução?
Quando você abre tópicos onde se questiona se o usuário resolveu o problema ou não, esse é o trabalho da moderação para manter o fórum organizado.
E o fórum é formado por pessoas que tentam ajudar os demais da forma que podem, logo, não se pode nem deve cobrar tanto dos colaboradores que fazem um trabalho voluntario, ajudando a tantos diariamente.
GOSTEI 0
POSTAR