![]() |
![]() |
| Paypal | 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 | |
|
|
|