Como faço pra criar 2 endereços diferentes de registros???
A pergunta é: Como faço pra criar 2 endereços diferentes de registro no mesmo programa???
Bom nesse código:
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???
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
Curtidas 0
Respostas
Eixox
28/12/2005
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.
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.
GOSTEI 0
Duolon
28/12/2005
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?
GOSTEI 0
Duolon
28/12/2005
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:
só foi criado a pasta\arquivo.exe na parte de iniciar do msconfig, a pasta2\arquivo.exe ñ :(
como faço pra criar 2 registros???
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???
GOSTEI 0
Eixox
28/12/2005
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.
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.
GOSTEI 0