Utilizo el siguiente código.
Es una entrada al registro, para poner la extensión qrp, a un visor hecho por mi de qrps.
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.LazyWrite := false;
reg.OpenKey('.qrp\shell\open\command',true);
// reg.WriteString('','C:\Documents and Settings\DANI\Mis documentos\delphi\Visor QR\visor.exe%1');
reg.WriteString('','C:\Archivos de programa\Visor\visor.exe%1');
reg.CloseKey;
reg.OpenKey('.qrp\DefaultIcon',true);
//reg.WriteString('','C:\Documents and Settings\DANI\Mis documentos\delphi\Visor QR\visor.exe,0');
reg.WriteString('','C:\Archivos de programa\Visor\visor.exe,0');
reg.CloseKey;
reg.free;
end;
Pues bien si hago esto que ahora mismo hay no me funciona, pero si uso los paths que estan comentados, si me funciona.
No lo entiendo.
Es decir me va con alguna ruta si y con la otra no.
La parte de que encuentre y le asigne el icono si que me funciona.
Lo que no consigo es que al hacer doble click, se abra el programa asignado.Me sale el dialogo que saca windows para que le asigne el programa al archivo(Ya digo,esto con el path comentado).
Un saludo