Como faço pra criar 2 endereços diferentes de registros???

28/12/2005

0

A pergunta é: Como faço pra criar 2 endereços diferentes de registro no mesmo programa???
Bom nesse código:

function TForm1.CriaRegistro(Remover: BOOL): string;
var
  strChaveApp: String;
  regAplicacao: TRegistry;
begin
  regAplicacao := TRegistry.Create;
  try
  with regAplicacao do
  begin
  strChaveApp := ´arquivo´;

  RootKey := HKEY_LOCAL_MACHINE;

  if OpenKey(strCHAVE_INICIAR, True) then
  begin
  if Remover = true then
  regaplicacao.DeleteValue(strChaveApp)
  else
  WriteString(strChaveApp, PASTA+´\pasta\arquivo.exe´);
  end;

  regAplicacao.CloseKey;
  end;
  finally
  regAplicacao.Free;
  end;
  CriaRegistro := ´´;
end;


Isso fez com que toda vez que o windows for inializado o programa [b:dda4f3b182]arquivo.exe[/b:dda4f3b182] se execulte automaticamente no diretório [b:dda4f3b182]pasta[/b:dda4f3b182], só que eu quero que gere 2 registros o 1º é esse mesmo, e o segundo em vez de ser aberto no diretório [b:dda4f3b182]pasta[/b:dda4f3b182] gostaria de fosse aberto no diretório [b:dda4f3b182]pasta2[/b:dda4f3b182], mais tratase do mesmo [b:dda4f3b182]arquivo.exe[/b:dda4f3b182] para ambos os registros...

Como que ficaria o código? oq eu acrecentaria nesse código acima para criação de 2 registros???


Duolon

Duolon

Responder

Posts

29/12/2005

Eixox

Nesse caso, você não ficaria com duas instâncias da mesma aplicação rodando?

Acredito que você poderia criar um processo que verificaria a existência do primeiro arquivo e o executava. Caso o primeiro não existisse iria para o segundo. Tudo dependeria na verdade somente de uma única chave que rodaria o processo e não os arquivos.


Responder

29/12/2005

Duolon

Nesse caso, você não ficaria com duas instâncias da mesma aplicação rodando? Acredito que você poderia criar um processo que verificaria a existência do primeiro arquivo e o executava. Caso o primeiro não existisse iria para o segundo. Tudo dependeria na verdade somente de uma única chave que rodaria o processo e não os arquivos.


Exatamente isso que eu quero fazer, [b:0a04f565d7]criar um processo que verificaria a existência do primeiro arquivo e o executava. Caso o primeiro não existisse iria para o segundo. Tudo dependeria na verdade somente de uma única chave que rodaria o processo e não os arquivos[/b:0a04f565d7]

mais o problema é que eu não sei como fazer isso... (não manjo nada de delphi...)

Oq eu acrecentaria no código que eu coloquei acima para fazer isso?


Responder

29/12/2005

Duolon

Estava vendo, mais ñ sei se vai dá certo de de um único registro procurar em duas pastas diferentes... pq no msconfig na parte de inicializar cada arquivo inicializado aponta para um único endereço, axo q o mais correto seria colocar dois diferentes endereços tentei fazer isso mais ñ deu certo:

if OpenKey(strCHAVE_INICIAR, True) then 
  begin 
  if Remover = true then 
  regaplicacao.DeleteValue(strChaveApp) 
  else 
  WriteString(strChaveApp, PASTA+´\pasta\arquivo.exe´);
  WriteString(strChaveApp, PASTA+´\pasta2\arquivo.exe´);  
  end;


só foi criado a pasta\arquivo.exe na parte de iniciar do msconfig, a pasta2\arquivo.exe ñ :(

como faço pra criar 2 registros???


Responder

29/12/2005

Eixox

Vejo que o que o Duolon colocou realmente não irá funcionar, até porque estão sendo criadas duas chaves com o mesmo nome e uma sobrescreverá a outra - senão me engano.

Um detalhe que você terá que fazer é o seguinte:

Quando a primeira aplicação for executada, a segunda também deverá ser executada, só que durante a sua inicialização, você deverá verificar se o programa já está sendo executado - se sim ele simplesmente será fechado, se não ele ficará em execução - sinal que a primeira instância da sua aplicação foi descoberta e provevelmente a segunda também será.

Existem um caras que postaram aqui um lance de incorporar um executável dentro de outro e depois os subtraem. Tente fazer isso, assim poderá também extrair o arquivo para a pasta onde o primeiro arquivo estava armazenado.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar