Wieso registrierst du nicht einfach ein neues Protokoll im System?
Habe ich in der firma mit unserer Warenwirtschaft auch gemacht... Einmal im System angemeldet kann man dann in ner Mail einfach nen Link anklicken und der ganze "Link" wird als parameter an mein Programm gemeldet... Da pflücke ich dann alles auseinander und kann so easy mit einem Klick in der Mail
- unserer Warenwirtschaft starten
- beliebig viele Parameter übergeben
Delphi-Quellcode:
procedure TMain.RegisterProtocol(
const Name, Describtion, ExecuteStr:
string);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CLASSES_ROOT;
reg.OpenKey(
Name, True);
try
reg.Writestring('
', '
URL:' +
Name +'
(' + Describtion + '
)');
reg.WriteInteger('
EditFlags', 2);
reg.WriteString('
Source Filter', '
');
reg.WriteString('
URL Protocol', '
');
reg.OpenKey('
shell', True);
reg.OpenKey('
open', True);
reg.OpenKey('
command', True);
reg.Writestring('
', ExecuteStr);
finally
reg.CloseKey;
end;
finally
reg.Free;
end;
end;
procedure TMain.UnregisterProtocol(
const Name:
string);
var
reg: TRegistry;
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_CLASSES_ROOT;
reg.DeleteKey(
Name);
finally
reg.Free;
end;
end;
Delphi-Quellcode:
procedure Tmain.BeKaProtokollregistrieren1Click(Sender: TObject);
begin
UnregisterProtocol('meinprog');
RegisterProtocol('meinprog','meinprog mit Kundendaten aufrufen',Application.ExeName + ' %1');
ShowMessage('meinprog-Protokoll wurde registriert!');
end;
Damit wäre das Protokoll schonmal registriert.
wir basteln eine webseite mit einem link
Code:
[
url="meinprog://machdies/parameter1=par1/parameter2=par2/parameter3=par3/"]link[/
url]
Der link lässt sich dann auch im IE oder FF anklicken...
"machdies/parameter1=par1/parameter2=par2/parameter3=par3/" bekommst du dann an dein Programm in ParamStr gemeldet... Das zerpflückst Du Dir dann wie Du es brauchst und go...