Hej, Det är ganska enkelt att hämta saker i registret. Ett exempel som visar en knapptryckning, denna hämtar proxyinställningarna i registret och visar som i en vanlig label-kontroll: Jo, jag har för tillfället gjort en liknande lösning. Problemet är att IE kan ändra sitt registry i nästa release och då slutar min applikation att fungera. Jag har ingen koll på när kunderna uppgraderar sin IE, därför tycker jag inte riktigt om att använda registryt. hitta denna länken Tack för länkarna!Hur kan jag få tag på IE's proxyinställningar
Sitter med ett problem som jag hoppas att få hjälp med.
Jag skulle vilja läsa ut Internet Explorers proxyinställningar, dvs det som hittas i IE, tools, internet options, connections, LAN settings och fälten adress och port. Jag använder VS 2005.
Jag har tittat på IWebProxy, WebRequest.GetSystemWebProxy() och WebProxy, men jag kommer inte underfund med hur man kan läsa ut proxyinställnignarna.
Det enda jag har hittat är ett WinInet API (som jag inte vet hur jag ska använda) samt registrynyckeln HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings. Fast det vore så mycket trevligare att kunna använda någon .NET klass.
Någon som har en lösning?
Mvh MichaelSv: Hur kan jag få tag på IE's proxyinställningar
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Microsoft.Win32.Registry.GetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\", "ProxyEnable", 0).Equals(1) Then
Label1.Text = Microsoft.Win32.Registry.GetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\", "ProxyServer", "")
Else
Label1.Text = "Ingen proxy används"
End If
End Sub
Sv:Hur kan jag få tag på IE's proxyinställningar
Det är väl ungefär samma problem med att använda WinInet APIer, fast kanske lite bättre. Jag skulle tro att det inför nya IE-releaser är lättare att ha koll på WinInet-förändringar än på ändringar i registryt, eller har jag fel?
Jag efterlyser egentligen något inom .NET. Då flyttar jag ju över problemet med nya IE releaser till .NET. Mycket bättre för mig ;-)
Jag börjar tappa hoppet om en .NET-lösning. Någon som kan muntra upp? Vad är egentligen den rekommenderade lösningen?
Mvh MichaelSv: Hur kan jag få tag på IE's proxyinställningar
http://www.codecomments.com/archive290-2004-8-255003.html
Men läs detta med om hur det kan påverka ditt program
http://www.aspnetpro.com/NewsletterArticle/2006/01/asp200601dk_l/asp200601dk_l.aspSv:Hur kan jag få tag på IE's proxyinställningar
Det tycks som om WebProxy.GetDefaultProxy() ger det resultat som jag vill ha, bara synd att metoden har blivit obsolete i VS 2.0.
Efter lite ytterligare googlande verkar det som om det inte finns någon ersättare. I 2.0 har man infört "automatic proxy detection". Kanske anser man att det inte ska behövas någon metod för att hämta just IE's proxyinställningar? Det verkar som om man kan hämta default proxyn (WebRequest.DefaultProxy), men därigenom kan man inte få reda på IE's host och port.
Det lutar åt att jag tänker gå loss på WinInet.
Skickar med lite länkar ifall någon vill veta mer om ämnet:
Automatic proxy detection:
http://msdn.microsoft.com/msdnmag/issues/05/08/AutomaticProxyDetection/default.aspx
En annan som inte har hittat någon ersättare till GetDefaultProxy i 2.0:
http://west-wind.com/weblog/posts/2542.aspx
Hur man i stället kan använda WinInet som alternativ till att läsa registryt direkt:
http://support.microsoft.com/Default.aspx?id=226473
Mvh Michael