Autor Beitrag
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Fr 21.02.03 13:33 
Hallo da draussen....

mit folgender Funktion ist es ja möglich, rauszukriegen ob mein System hinter einem Proxy sitzt, indem es in der Registry den entsprechenden Wert abfragt:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
 Result := ctNone;
  Reg := TRegistry.Create;
  with REG do
    try
      try
        RootKey := HKEY_CURRENT_USER;
        if OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet settings',
        false) then begin
          if GetDataType('ProxyEnable') = rdBinary then
            ReadBinaryData('ProxyEnable', UseProxy, SizeOf(LongWord))
          else begin
            bUseProxy := ReadBool('ProxyEnable');
            if bUseProxy then UseProxy := 1
            else UseProxy := 0;
          end;
          if (UseProxy<>0) and (ReadString('ProxyServer')<>'' ) then Result := ctProxy;
        end;
      except
      end;
    finally
      Free;
    end;
    if Result = ctNone then begin
      if RasConnectionCount > 0 then Result := ctDialup;
    end;


Nun ist es aber so, das ich unter Windows XP (und 2000 glaub ich auch), mir diesen Wert insofern sparen kann, da ich unter diesen OS´ nicht angebe ob ich eine Proxy benutzte, sondern Windows diesen von selbst findet, was ja eigentlich sehr praktisch ist!
Wie aber finde ich unter solchen Bedingungen heraus, ob ich hinter einem Proxy sitze?

mfg
KiwiCHt..-
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: Fr 21.02.03 15:24 
soweit ich weis findet auch Win2000 und XP nen Proxy nicht selbst ... das was du meinst is warscheinlich nen Router -> Gateway die werden gefunden nur den Proxy musste wir gehabt selbst eintragen ... aber ich kann mich (was ich nciht glaube) auch irren ... bin also auch gespannt

MfG BungeeBug
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: Fr 21.02.03 16:57 
Hi,

man muss die Verbindungsart schon noch selbst angeben. Das was kiwicht meint ist der Haken "Automatische Suche der Einstellungen" unter LAN-Verbindungen. Aber selbst dieser Haken ist in der Registry vorhanden.
Cyrus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 56



BeitragVerfasst: Fr 21.02.03 17:02 
Hi viellicht hilft das:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
uses 
  WinInet; 

const 
  MODEM = 1; 
  LAN = 2; 
  PROXY = 4; 
  BUSY = 8; 

function GetConnectionKind(var strKind: string): Boolean; 
var 
  flags: DWORD; 
begin 
  strKind := ''; 
  Result := InternetGetConnectedState(@flags, 0); 
  if Result then 
  begin 
    if (flags and MODEM) = MODEM then strKind := 'Modem'; 
    if (flags and LAN) = LAN then strKind := 'LAN'; 
    if (flags and PROXY) = PROXY then strKind := 'Proxy'; 
    if (flags and BUSY) = BUSY then strKind := 'Modem Busy'; 
  end; 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
  strKind: string; 
begin 
  if GetConnectionKind(strKind) then 
    ShowMessage(strKind); 
end

_________________
Wer glaub er ist, hört auf zu werden!
Delphi Rulez!!!
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Mo 24.02.03 09:54 
Hallöle...

also bezüglich der Windows-Proxy-Geschichte:

Das läuft ganz automatisch, wenn ich auf meinem WindowsXP-Rechner die i-Net-Verbindung freigebe, erhält dieser ja automatisch die 192.168.0.1 als IP, und die wird von neueren (XP auf jeden Fall, 2k weiss ich nicht genau) OS´s automatisch erstmal als Proxy (bzw. Router, Gatway ;)) gesucht bzw. erkannt. Proxy ist zugegeben eine etwas unglückliche Bezeichnung, hat sich aber so eingebürgert bei mir, sorry.. :roll:

Das Häkchen "automat. Suchen ...." beim inet-Explorer steht in dem Falle tatsächlich für Proxy´s, aber eher für die von 3.-Anbietern. Bei meinen Spielen und Email-Clients gibts so ein Häkchen ja nicht, und die finden die fremde Verbindung trotzdem, weil Windows die Anfragen "intern" weiterleitet...
soviel zur Netzwerk-Theroie... ;) 8)

Der Quelltext funktioniert, rein technisch gesehen, aber er zeigt leider nicht an, das ich im Internet bin, sonder nur: LAN, was natürlich auch stimmt, aber nur die halbe wahrheit ist.

Danke für die Mühen..
mfg
kiwicht
kiwicht Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Mi 26.02.03 21:00 
hab doch was gefunden, Lösung lag im Grunde ganz nah:

In meinem speziellen Fall suchen sich Windows und die laufenden Programme ja ihre eigene Verbindung, aber halt doch nicht ganz von alleine. Das einzigste was man bei den TCPIP-Einstellung ändern muss, ist der Standard-Gateway. Logisch.
In der Registry ist dieser Wert gespeichert unter:
LOCAL_MACHINE
|_ SYSTEM
|_ ControlSet001
|_ Services
|_ Hash-Wert (bei mir wars gleich der erste
|_TCPIP
||= Key: DefaultGateway

(Stimmt diese Adresse nicht, kann man auch einfach nach Default Gateway oder 192.168.0.1 suchen)

danke für eure Mühen
mfg
kiwicht