procedure Registrer;
var
Reg: TRegistry;
buf: Integer;
begin
buf := 2;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey(\'lif\', true);
Reg.WriteString(\'\', \'URL:Legende Ivrende Folk\'); // Erstat Legende Ivrende Folk med hvad LIF står for
Reg.WriteBinaryData(\'EditFlags\', buf, 1);
Reg.WriteString(\'URL Protocol\', \'\');
Reg.OpenKey(\'shell\\open\\command\', true);
Reg.WriteString(\'\', Application.ExeName + \' %1\');
Reg.CloseKey;
end;
Denne procedure skriver sig ind i registreringsdatabasen på en måde så det er dit program som bliver kørt når der bliver kørt en
lif://4897436 i browseren.
Så skal du ind i onCreate på din Form og sige dette:
procedure TForm1.FormCreate(Sender: TObject);
var
Params, DownloadID: string;
position: integer;
begin
if ParamCount > 0 then
Params := lowercase(ParamStr(1));
Position := Pos(\'
lif://\', Params);
if position > 0 then
DownloadID := Copy(Params, 7, Length(Params) - 7);
ShowMessage(DownloadID);
end;
Så kan du gøre hvad du vil med DownloadID som nu indeholder det nummer det blev kaldt med.
Altså hvis du registrerer med den procedure, og dereter skriver:
lif://4656656 i browseren, åbner dit program og popper up med tallet 4656656.
Var det noget i den stil du skulle bruge ?
/SpEeDy