![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Eliminar registro de Windows
Hola de nuevo.
Me interesaría borrar un registro de Windows, dentro de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\, para que cierta aplicación arranque o no junto con Windows. Para ello he usado la siguiente función: Código:
procedure TvPrograma.abrirEnInicio(iOpcion:integer); var Registro:TRegistry; begin // Crea una clave en el registro Registro:=TRegistry.create; Registro.RootKey:=HKEY_LOCAL_MACHINE; // Según iOpcion, borramos o añadimos la clave case iOPcion of 0: if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run\',FALSE) then Registro.WriteString('MiPrograma',''); 1: if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',FALSE) then Registro.WriteString('MiPrograma',ExtractFilePath(ExpandFileName(ParamStr(0)))+'MiPrograma.exe'); end; Registro.Destroy; end; Gracias anticipadas.
__________________
IncestoCanibal.com |
#2
|
|||
|
|||
Me acabo de responder yo sólo
![]() En vez de DeleteKey(), pues abres la ruta del registro con OpenKey(), y luego borras el valor que deseas, indicando su nombre, usando DeleteValue(), quedando así el código: Código:
case iOPcion of 0: if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run\',FALSE) then Registro.DeleteValue('MiPrograma'); 1: if Registro.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\Run',FALSE) then Registro.WriteString('MiPrograma',ExtractFilePath(ExpandFileName(ParamStr(0)))+'MiPrograma.exe'); end; ![]()
__________________
IncestoCanibal.com |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|