Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Url vom Standard-Browser ermitteln (https://www.delphipraxis.net/204853-url-vom-standard-browser-ermitteln.html)

lowmax_5 7. Jul 2020 10:54

Url vom Standard-Browser ermitteln
 
Mit folgender Funktion kann ich die Url vom IE ermitteln:

Code:
function GetURL(Service: string): string;
var
  ClDDE: TDDEClientConv;
  temp: PAnsiChar;
begin
  Result := '';
  ClDDE := TDDEClientConv.Create(nil);
  with ClDDE do
  begin
    SetLink(Service, 'WWW_GetWindowInfo');
    temp := RequestData('0xFFFFFFFF');
    Result := StrPas(temp);
    StrDispose(temp);
    CloseLink;
  end;
  ClDDE.Free;
end;
Aufruf
Code:
GetURL('IExplore'));
==> O.k.
Code:
GetURL('Firefox'));
==> Geht nicht
Code:
GetURL('Edge??'));
==> geht nicht

Kann dieses auch mit anderen Browsern umgesetzt werden z.B. Edge oder FF? oder unterstützen FF oder Edge überhaupt DDE? Wie kann man das erkennen? Habe von DDE keine Ahnung...

jaenicke 7. Jul 2020 11:10

AW: Url vom Standard-Browser ermitteln
 
DDE ist uralt, auch wenn es für manche Aufgaben immer noch verwendet wird. Das geht aber wenn, dann nur im Internet Explorer. Und ob es da mit Tabs usw. noch richtig geht...

Es gibt dafür keine allgemeine Funktionalität, die in mehreren Browsern klappt, abgesehen von Browsern auf gleicher Basis wie Google Chrome und der neue Edge. Danach musst du einzeln pro Browser suchen. Ob das mit vertretbarem Aufwand geht, weiß ich nicht.

Gibt es vielleicht eine andere Lösung? Würde vielleicht ein eingebetteter Browser helfen? (Ich weiß ja nicht was du machen möchtest...)

lowmax_5 7. Jul 2020 11:22

AW: Url vom Standard-Browser ermitteln
 
Ich benötige eigentlich nur die Url vom Standard-Browser, um einen Google Authentifizierungsdialog via Browser auszulesen. Das Ergebnis steht dann in der Url.

himitsu 7. Jul 2020 12:47

AW: Url vom Standard-Browser ermitteln
 
DDE ist wie Delphi tot gesagt, aber es lebt manchmal noch.


Beim Internet Explorer konnte man über die API des Explorers gehen.

Müsste mal schauen wo ich den Code liegen hab und ob's bei Edge auch noch geht.

Sherlock 7. Jul 2020 12:52

AW: Url vom Standard-Browser ermitteln
 
Warum authentifizierst Du Dich nicht direkt bei Google? Solche Krücken müssen zwangsläufig in die Hose gehen, weil sich an zu vielen stellen etwas ändern kann.

Sherlock

lowmax_5 7. Jul 2020 12:56

AW: Url vom Standard-Browser ermitteln
 
Zitat:

Warum authentifizierst Du Dich nicht direkt bei Google?
Wie würde man dieses umsetzen?

himitsu 7. Jul 2020 13:00

AW: Url vom Standard-Browser ermitteln
 
z.B. via REST über die bekannten Google-APIs?
https://developers.google.com/maps/documentation?hl=de

oder notfalls über TWebBrowser innerhalb deiner Anwendung, aber da es Ersteres gibt ....
(ist ja nicht wie bei Facebook, wo die Weboberfläche als Userinterface zur Pflicht wurde)

lowmax_5 7. Jul 2020 13:08

AW: Url vom Standard-Browser ermitteln
 
Der Aufruf 'https://accounts.google.com/signin/oauth/oauthchooseaccount...' liefert mir einen ApprovalCode, der in der Url steht. Und genau diesen möchte ich ja auslesen, damit ein manuelles herauskopieren für den Anwender entfällt.

Sherlock 7. Jul 2020 13:42

AW: Url vom Standard-Browser ermitteln
 
Es geht also um OAUTH...

https://www.delphipraxis.net/199946-...it-source.html

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 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