PDA

Ver la Versión Completa : Ayuda Registro delphi


Descendents
11-11-2003, 20:07:30
Utilizo el siguiente código.
Es una entrada al registro, para poner la extensión qrp, a un visor hecho por mi de qrps.


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

delphi.com.ar
11-11-2003, 20:37:42
Como sugerencia te diría que pongas las rutas largas entre comillas dobles, y debes tener en cuenta que el archivo que recibirá como parámetro también puede estar en una ruta larga, por lo que también la encierro entre comillas:

reg.WriteString('','"C:\Documents and Settings\DANI\Mis documentos\delphi\Visor QR\visor.exe" "%1"');


Por otro lado, si copias la ruta completa, abres el menú de inicio \ ejecutar, pegas la ruta y luego la ejecutas... ¿Abre el programa?

Descendents
12-11-2003, 08:45:52
Perfecto, me funciono gracias al tema comillas.
Muchas gracias
Un saludo