Entwickler-Ecke
Internet / Netzwerk - PROTOKOLL:// auslesen
MDX - Mi 17.09.08 10:21
Titel: PROTOKOLL:// auslesen
Hallo, ich habe in der Windows-Registery das Protokoll "PR://" registriert, wenn man nun im Browser "PR://ABC" eingibt, öffnet sich mein Programm, wie kann ich nun das "ABC" auslesen?
THX
MDX
matze - Mi 17.09.08 12:05
Soweit ich weiß, wir das als ganz normale Parameter übergeben.
Du kannst also mit paramstr(x) drauf zugreifen.
MDX - Fr 31.10.08 23:06
Und was muss bei x hin?
Registriert ist das Protokoll mit: "ABCEF GHIJ KL" bei 1 kommt: "ABCDEF" bei 2: "GHIJ" und bei 3: "KL" bei 4: garnix.
Wie kann ich nun das auslesen?
alias5000 - Fr 31.10.08 23:17
X kann in einer SChleife die Werte 1 bis ParamCount annehmen, damit bekommst du alles.
Gruß
alias5000
MDX - Sa 01.11.08 04:38
Sorry für die frage:
Was genau muss ich jetzt machen :wink: ?
GTA-Place - Sa 01.11.08 10:14
Delphi-Quelltext
1: 2: 3:
| Params := ''; for X := 1 to ParamCount do Params := Params + ParamStr(X) + ' '; |
War das jetzt schwer?
MDX - Sa 01.11.08 14:21
Ja, weil ich mich noch nicht wirklich mit schleifen beschäftigt hab (Delphi)
Es geht aber immer noch nicht:
Also der Link auf der Website ist:
PR://123
Wenn das Programm geöffnet wird, kommt nur "PROGRAMNAME VERSION" so wie ich den Typ registriert hab:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm5.FormCreate(Sender: TObject); var regist: TRegistry; begin with TRegistry.Create do try RootKey:=HKEY_CLASSES_ROOT; if not OpenKey('\pr',True) then exit; WriteString('URL Protocol',''); if not OpenKey('\pr\shell\open\command',True) then exit; WriteString('','"'+Application.ExeName+'" PROGRAMMNAME VERSION '); finally CloseKey; Free; end; end; |
Kann auch sein das hier was fehlt
jaenicke - Sa 01.11.08 15:38
%1 ist der Parameter, der in die Registry noch in die auszuführende Kommandozeile muss. Dieser wird dann durch die Parameter ersetzt.
Das würde ich statt PROGRAMMNAME VERSION erwarten, wenn du das brauchst eben dahinter.
Yogu - Sa 01.11.08 17:24
Du kannst für die Parameter keine Namen vergeben. Ich denke, genau das wolltest du mit "PROGRAMMNAME VERSION" erreichen. Windows übergibt diese Parameter einfach so, wie sie drin stehen. Wenn sie ersetzt werden sollen, musst du wie schon erwähnt das Prozentzeichen mit einer Zahl - im Normallfall 1 - einsetzen.
Um trotzdem an den Programmname und die Version zu kommen, musst du die URL so aufbauen:
Quelltext
1:
| PR://programmname=abc&version=123 |
Den Text nach dem
PR:// kannst du ganz normal mit
ParamStr(1) auslesen - du braucht nicht mal eine Schleife.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!