AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

URL öffnen Link abfangen...

Ein Thema von delphinia · begonnen am 27. Mär 2011 · letzter Beitrag vom 27. Mär 2011
Antwort Antwort
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#1

URL öffnen Link abfangen...

  Alt 27. Mär 2011, 13:03
Delphi-Version: 5
Hallo,

sorry habe keinen besseren Titel gefunden.

Mein Problem: Wenn ich zB in einem Programm die infos aufrufen sind meist dort ja auch die URLs zu den Homepage der Hersteller klickfähig aufzurufen. klicke ich auf so einen Link bekomme ich in meinem Browser nicht die URL versuchte diese mit ParamStr() abzufangen geht aber nicht warum? Bekomme dir URL nicht...
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 13:12
Bitte was hast du versucht?

Das Aufrufen sollte normalerweise mit Hilfe von Delphi-Referenz durchsuchenShellExecute erfolgen. Der Browser kann dann entweder per Aufruf eines neuen Prozesses davon benachrichtigt werden, aber es sollte auch die Möglichkeit geben, dass der Browser per DDE o.Ä. benachrichtigt wird.

Da Firefox diesen "Info-Prozess" sofort wieder schließt, nachdem die Daten an den Hauptprozess übertragen worden sind, bleibt "nichts" zurück. Du hast jetzt 2 Möglichkeiten:

a) Registriere dein Programm als Handler für http-Links oder
b) lasse dich über das Erstellen eines jeden neuen Prozesses informieren und lese dann sofort dessen Kommandozeile/Parameter aus.

Was ParamStr() damit zu tun hat, musst du noch erklären.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 13:16
Es geht hier nicht um einen Browser wie FF oder IE etc.


habe ein Programm geschrieben das ich dann firefox.exe genannte habe und damit in das Firefox verzeichnis kopierte - somit ist das registireren (Registriere dein Programm als Handler für http-Links oder) sicher Überflüssig?!

Ich möchte nun wenn ich egal wo ich in Windows einen Link anklicke und zwangläufig ja mein Programm gestartet wird das ich dann die URL angezeigt bekomme um dann mit dieser weiter zu arbeitem und ich dachte die URL würde an die EXE per parameter uebergeben daher die Idee ParamStr
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#4

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 13:28
habe ein Programm geschrieben das ich dann firefox.exe genannte habe und damit in das Firefox verzeichnis kopierte - somit ist das registireren (Registriere dein Programm als Handler für http-Links oder) sicher Überflüssig?!
Selber Shuld ... sowas mach man nicht und sei froh, daß da dein Virenscanner nicht einschreitet.


Firefox registriert sich eventuell einen COM-Handler, welcher diese Ereignisse empfängt ... da kommt dann also nix als Parameter an.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 14:58
So macht man es richtig: Eigenes Protokoll registrieren
  Mit Zitat antworten Zitat
delphinia

Registriert seit: 16. Feb 2006
444 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 15:04
Es geht hier nicht um richtig und falsch und um Virenscanner die sich melden oder nicht. Auch nicht um eigene Protokolle und schon gar nicht darum!

Einfach und ergreifend wie ich eine URL bekomme..
Noch einmal ein Beispiel: in einem E-Mail Programm X habe ich eine E-mail in der ein Link vorhanden isst. Klicke ich drauf öffnet sich Browser Y.

Soweit gut...

habe nun Browser Y unbenannt und durch meine EXE ersetzt und will nun aus dieser die URL die vorher in Browser Y dafür sorgte das a) der Browser gestartet und b) auch mit dieser URL fertig angezeigt wurde....

Ich dachte oder nahm an das dies - da in der Reg ja steht Pfad/brwoserY.exe %1 das es über die ParamStr passiert! Aber leider ist das nicht der Fall.
Doreen
Gruss Doreen
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 15:13
Es geht hier nicht um richtig und falsch und um Virenscanner die sich melden oder nicht. Auch nicht um eigene Protokolle und schon gar nicht darum!
Wieso? Du kannst die verlinkte Funktion nutzen, um ganz einfach und sauber „HTTP“ zu registrieren.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#8

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 15:21
[delete]
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Mär 2011 um 15:24 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 15:49
Ich habe das jetzt mal ausprobiert

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
  memo1.Clear;
  for i := 0 to Paramcount-1 do memo1.lines.add(ParamStr(i));
end;
Liefert:
Code:
C:\Program Files (x86)\Mozilla Firefox\firefox.exe
-requestPending
-osint
-url
Richtig wäre:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
  memo1.Clear;
  for i := 0 to Paramcount do memo1.lines.add(ParamStr(i));
end;
Ergebnis:
Code:
C:\Program Files (x86)\Mozilla Firefox\firefox.exe
-requestPending
-osint
-url
http://delphipraxis.net
Delphi-Referenz durchsuchenParamCount zählt anscheinend den Anwendungspfad nicht mit.
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: URL öffnen Link abfangen...

  Alt 27. Mär 2011, 16:15
Richtig, ParamCount enthält nur die Anzahl der tatsächlich übergebenen Kommandozeilen-Parameter, da ParamStr(0) immer gesetzt ist.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz