Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda Registro delphi (https://www.clubdelphi.com/foros/showthread.php?t=5170)

Descendents 11-11-2003 20:07:30

Ayuda Registro delphi
 
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

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:

Código:

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


La franja horaria es GMT +2. Ahora son las 15:05:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi