I think what you need is register a URL scheme for your app on Windows as follows:
procedure RegisterURLScheme(protocol: string);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Software\Classes\' + protocol, true);
reg.WriteString('', 'URL:' + protocol);
reg.WriteString('URL Protocol', '');
reg.CloseKey;
reg.OpenKey('Software\Classes\' + protocol + '\DefaultIcon', true);
reg.WriteString('', ParamStr(0));
reg.CloseKey;
reg.OpenKey('Software\Classes\' + protocol + '\shell\open\command', true);
reg.WriteString('', '"' + ParamStr(0) + '" "%1"');
reg.CloseKey;
reg.OpenKey('Software\Classes\' + protocol + '\shell', true);
reg.WriteString('', 'open');
reg.CloseKey;
reg.Free;
end;
Above function register a protocol and set its app association with the current program ( ParamStr(0) ). e.g. if you register with protocol 'myapp', then the URL will be like myapp://the-encoded-data-as-uri. Inside your app, call ParamStr(1) to get the parameters as URL form.
Note: this solution is specific for Windows platform.