Autor Beitrag
pk910
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 74

Win VISTA, Win 98, Win XP, Linux
Delphi 5.0
BeitragVerfasst: Mo 14.05.07 16:24 
Wie kann ich feststellen, ob der Internet Explorer gerade läuft?
und wie kann ich dann feststellen, welche seite aufgerufen wurde?
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Mo 14.05.07 16:47 
Du könntest ein Add-on für den Internet Explorer schreiben, oder nach dem Prozess suchen. Die aktuelle Internetseite kannst du jedoch am einfachsten nur über ein Add-on herausfinden, würd ich jetzt sagen.
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Mo 14.05.07 17:02 
Anhand der Fenstercaption die IE-Fenster finden, dann das Handle vom Adressfeld und das dann auslesen.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Mo 14.05.07 17:47 
user profile iconjakobwenzel hat folgendes geschrieben:
Anhand der Fenstercaption die IE-Fenster finden, dann das Handle vom Adressfeld und das dann auslesen.

Und wenn der User gerade am eintippen einer neuen Adresse ist, dann hast du Pech mit dieser Methode. ;)
Was mir noch eingefallen ist, du könntest einen HTTP-Proxyserver machen (geht sehr einfach mit TIdHTTPProxyServer) und von dort dann die URLs beziehen.
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Mo 14.05.07 17:59 
user profile iconChryzler hat folgendes geschrieben:
user profile iconjakobwenzel hat folgendes geschrieben:
Anhand der Fenstercaption die IE-Fenster finden, dann das Handle vom Adressfeld und das dann auslesen.

Und wenn der User gerade am eintippen einer neuen Adresse ist, dann hast du Pech mit dieser Methode. ;)
Was mir noch eingefallen ist, du könntest einen HTTP-Proxyserver machen (geht sehr einfach mit TIdHTTPProxyServer) und von dort dann die URLs beziehen.


Aber 1. musst du damit den User "zwingen" deinen Proxy in den Internetoptionen einzutragen und 2. musst du erst noch die Datei IdHttpproxysever.pas ein bisschen editieren. Im normalen Version dieser Datei ist es nur möglich den Dateinamen und Pfad zu bekommen, nicht jedoch die Domain. Was du ändern musst erfährst du hier: andreas-lauss.de/arc...d-der-verlorene-host
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Mo 14.05.07 18:08 
user profile iconAndreas L. hat folgendes geschrieben:
user profile iconChryzler hat folgendes geschrieben:
user profile iconjakobwenzel hat folgendes geschrieben:
Anhand der Fenstercaption die IE-Fenster finden, dann das Handle vom Adressfeld und das dann auslesen.

Und wenn der User gerade am eintippen einer neuen Adresse ist, dann hast du Pech mit dieser Methode. ;)
Was mir noch eingefallen ist, du könntest einen HTTP-Proxyserver machen (geht sehr einfach mit TIdHTTPProxyServer) und von dort dann die URLs beziehen.


Aber 1. musst du damit den User "zwingen" deinen Proxy in den Internetoptionen einzutragen und 2. musst du erst noch die Datei IdHttpproxysever.pas ein bisschen editieren. Im normalen Version dieser Datei ist es nur möglich den Dateinamen und Pfad zu bekommen, nicht jedoch die Domain. Was du ändern musst erfährst du hier: andreas-lauss.de/arc...d-der-verlorene-host

Also ich habe die Domain immer über den Header "Host" ausgelesen, hat bei mir immer funktioniert.
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: Mo 14.05.07 18:58 
user profile iconChryzler hat folgendes geschrieben:
user profile iconAndreas L. hat folgendes geschrieben:
user profile iconChryzler hat folgendes geschrieben:
user profile iconjakobwenzel hat folgendes geschrieben:
Anhand der Fenstercaption die IE-Fenster finden, dann das Handle vom Adressfeld und das dann auslesen.

Und wenn der User gerade am eintippen einer neuen Adresse ist, dann hast du Pech mit dieser Methode. ;)
Was mir noch eingefallen ist, du könntest einen HTTP-Proxyserver machen (geht sehr einfach mit TIdHTTPProxyServer) und von dort dann die URLs beziehen.


Aber 1. musst du damit den User "zwingen" deinen Proxy in den Internetoptionen einzutragen und 2. musst du erst noch die Datei IdHttpproxysever.pas ein bisschen editieren. Im normalen Version dieser Datei ist es nur möglich den Dateinamen und Pfad zu bekommen, nicht jedoch die Domain. Was du ändern musst erfährst du hier: andreas-lauss.de/arc...d-der-verlorene-host

Also ich habe die Domain immer über den Header "Host" ausgelesen, hat bei mir immer funktioniert.


Und genau der Host kommt bei mir im Header lustigerweise nicht vor.

ausblenden Delphi-Quelltext
1:
2:
for i := 0 to AHeaders.count -1 do
listbox1.items.add(AHeaders.Strings[i]);

Oder so ähnlich, hab jetzt Delphi nicht offen.
pk910 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 74

Win VISTA, Win 98, Win XP, Linux
Delphi 5.0
BeitragVerfasst: So 20.05.07 01:31 
user profile iconjakobwenzel hat folgendes geschrieben:
Anhand der Fenstercaption die IE-Fenster finden, dann das Handle vom Adressfeld und das dann auslesen.



Kann man dazu feststellen, ob enter gedrückt wurde?


oder erstmal generall: wie mache ich das? ^^
HelgeLange
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 735
Erhaltene Danke: 6

Windows 7
Delphi7 - Delphi XE
BeitragVerfasst: So 20.05.07 04:16 
probier das mal :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
function GetIE_URL(var List: TStringList): Integer;
var sw  : TShellWindows;
    i,j : integer;
    ie  : IWebBrowser;
begin
 i := 0;
 List := TStringList.Create;
 sw := TShellWindows.Create(nil);
 for j := 0 to (sw.Count-1do begin
  sw.item(j).QueryInterface(IWebBrowser, ie);
  if ie <> nil then begin
   List.Add(ie.Get_LocationURL);
   Inc(i);
  end;
 end;
 If i = 0 Then List.Destroy;
 Result := i;
end;

_________________
"Ich bin bekannt für meine Ironie. Aber auf den Gedanken, im Hafen von New York eine Freiheitsstatue zu errichten, wäre selbst ich nicht gekommen." - George Bernhard Shaw
pk910 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 74

Win VISTA, Win 98, Win XP, Linux
Delphi 5.0
BeitragVerfasst: So 20.05.07 10:42 
TShellWindows
IWebBrowser

kennt er nicht... wie mache ich ihm das bekannt?
pokerf4ce
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 29.05.07 14:58 
user profile iconpk910 hat folgendes geschrieben:
TShellWindows
IWebBrowser

kennt er nicht... wie mache ich ihm das bekannt?




IWebBrowser ist warscheinlich TWebBrowser bzw das gleiche, du musst die TWebBrowser Kompo aufs Form ziehen!

und TShellWindows kannst du benutzen mit:

uses
... ShellAPI;


korrigiert mich wenn ich falsch liege
Chryzler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1097
Erhaltene Danke: 2



BeitragVerfasst: Di 29.05.07 15:44 
user profile iconpokerf4ce hat folgendes geschrieben:
user profile iconpk910 hat folgendes geschrieben:
TShellWindows
IWebBrowser

kennt er nicht... wie mache ich ihm das bekannt?




IWebBrowser ist warscheinlich TWebBrowser bzw das gleiche, du musst die TWebBrowser Kompo aufs Form ziehen!

und TShellWindows kannst du benutzen mit:

uses
... ShellAPI;


korrigiert mich wenn ich falsch liege

IWebBrowser ist nicht gleich TWebBrowser, sondern ein Interface. (Was das wiederum ist hab ich bis heute nicht verstanden...). IWebBrowser ist halt in irgendeiner Unit deklariert, keine Ahnung welche.
pokerf4ce
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 29.05.07 16:06 
user profile iconChryzler hat folgendes geschrieben:

IWebBrowser ist halt in irgendeiner Unit deklariert, keine Ahnung welche.



ja in der von TWebBrowser :o, oder?