Verificar Aplicações Abertas

Delphi

18/02/2004

Como posso fazer para ver se uma aplicação já está sendo executada ??? Ah, e nao deixar abrir outra !


Vivipeder

Vivipeder

Curtidas 0

Respostas

Pedro Bugim

Pedro Bugim

18/02/2004

No System.ini você tem uma configuração como esta :

Shell=Explorer.exe
Basta trocar por
Shell=Myprog.exe

Ou usando delphi:

procedure Tform1.ChangeShell(String programa);
var ArquivoIni : Tinifile;
begin
try
ArquivoIni := Tinifile.Create(´System.ini´);
ArquivIni.WriteSection(´Config´,´Shell´,´Myprog.exe´);
fynally
ArquivoIni.Destroy;
end;
end;


Espero que ajude!
Abraços,


GOSTEI 0
Vivipeder

Vivipeder

18/02/2004

Poderia me explicar o que faz esta sintaxe (o q significa os comandos?)


GOSTEI 0
Fabio.hc

Fabio.hc

18/02/2004

Outra forma:

program Project1;

uses
  Forms,
  Windows,
  Unit1 in ´Unit1.pas´ ;

{$R *.res}

var
  Handle: THandle;
begin
  Handle := FindWindow(´TForm1´, nil);
  if Handle <> 0 then { Já está aberto }
      begin
      Application.MessageBox(´Este programa já está aberto.´, ´Programa já aberto´, MB_OK);
      Exit;
      end;

  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.



GOSTEI 0
Pedro Bugim

Pedro Bugim

18/02/2004

Vivi,
Resumindo: este código modifica o shell do Windows (Explorer), dentro do arquivo system.ini, responsável pela manipulação de aplicativos no sistema, inicialização do windows e etc
Com esta modificação, o usuario nao terá como alternar entre programas, acessar outros icones, etc
obs. é sempre bom fazer uma cópia de backup deste arquivo antes de mexer com ele...

procedure Tform1.ChangeShell(String programa); 
var ArquivoIni : Tinifile; {Cria uma variável tipo Tinifile}
begin 
try 
ArquivoIni := Tinifile.Create(´System.ini´); {Cria o arquivo System.ini,  tipo Tinifile}
ArquivIni.WriteSection(´Config´,´Shell´,´Myprog.exe´); {Modifica o shell do arquivo System.ini de forma que seu programa seja absoluto, aonde ´MyProg.exe´ é a sua aplicação}
fynally 
ArquivoIni.Destroy; {destroi o arquivo criado}
end; 
end;


Espero que a explicação ajude um pouco...


GOSTEI 0
POSTAR