Hej, Som av en händelse kollade jag lite på detta för någon vecka sedan och det handlar om att sätta ett registervärde, närmare bestämt DefaultConnectionSettings i "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections" Ok, tackar. Läste igenom tråden. Förstår inte riktigt hur han tänker i post #13. Han verkar ju nollställa nyckeln. Testade även att exportera/importera till fil, men det misslyckades. Här är koden för det: Nu har jag experimenterat vidare, och hittat ett annat sätt, men jag körde fast halvvägs. Jag använder följande: Nu har jag även löst format problemet. Koden är ytterligare förenklad: Om man tittar på post #11 har LMichel med exempel som poängterar vad som behöver redigeras: Tackar. Jo, insåg nu att det var så enkelt. Anledningen till att jag stötte på de ovanstående problemen var att jag trodde man behövde typomvandla, eftersom värdena i byte vektorn (som jag la över värdena i för redigering) blev decimala, medans de i nyckeln var hexadecimala. Därav fick jag problem. Men nu struntar jag i typomvandlingarna eftersom de sker automatiskt iaf. Man får bara hålla koll på att det decimala värdet man skriver in i bytevektorn motsvarar det hexadecimala nyckelvärdet när man skriver tillbaka... Borde inte det här fungera då?Proxy-inställningar i Internet Explorer
Lägger denna tråd i vb-allmänt, men är osäker på vart den hör hemma.
Jag behöver skriva ett script som bestämmer vilka kryssrutor som ska vara ikryssade i LAN-inställningarna för internet explorer. Vet ju att man kan styra om proxy servern ska användas eller ej genom att ange proxyenable nyckeln till 1 eller 0 i registret, och även vilken proxy som ska användas. Men när jag sätter proxyenable=0 så är rutan för att identifiera inställningar automatiskt fortfarande ikryssad i ie, och det vill jag inte, eftersom den då kommer att använda en proxy iaf.
Så hur ska jag gå tillväga för att skriva ett script som styr hur dessa rutor är ikryssade?
/RobinSv: Proxy-inställningar i Internet Explorer
kolla gärna den här http://www.visualbasicscript.com/m30518.aspx
Post #17 beskriver dom olika värdena och post #13 visar hur man kan göra.
Ett annat alternativ är att exportera ovanstående nyckel, ändra byte nr 8 till lämpligt värde (01 för att tömma samtliga rutor) och tänk på att ränkningen börjar på 0 så det borde vara första talparet på rad två i registereditorn. gör en ny export och jämför.
För att göra det enkelt för dig kan du använda dom exporterade filerna och importera där det behövs med t.ex regedit /s registerfil_med_instsällningar.regSv:Proxy-inställningar i Internet Explorer
RegeditExport(keyValue, "C:\ProxySettings.reg")
Sub RegeditExport(ByVal sKey As String, ByVal sFilename As String)
Shell("regedit.exe /s /e " & Chr(34) & sFilename & Chr(34) & " " & Chr(34) & sKey & Chr(34), vbHide)
End Sub
Sub RegeditImport(ByVal sFilename As String)
Shell("regedit.exe /s /c " & Chr(34) & sFilename & Chr(34), vbHide)
End Sub
Blev aldrig någon fil skapad, och jag vet inte vad det beror på. Vad kan felet vara? Finns det inte något snabbare sätt att direkt gå in och editera önskad bit, eller flytta över hela nyckeln till en variabel på något sätt, och sedan lyfta tillbaka den editerade variabeln? Något snabbt sätt att lösa det på helt enkelt.Sv: Proxy-inställningar i Internet Explorer
...
byteArray = regVersion.GetValue("DefaultConnectionSettings", True)
hexArray = Array.ConvertAll(byteArray, New Converter(Of Byte, String)(AddressOf DecimalToHex))
Private Function DecimalToHex(ByVal str As Byte)
Return Hex(str)
End Function
Där byteArray är en byte-vektor, och hexArray är en string vektor. När jag hämtar ut värdet från nyckeln som är i hexadecimal form, så görs det om till decimal form. Så jag måste då med hjälp av
Array.ConvertAll göra om det decimala talet till hexadecimalt igen, innan jag börjar ändra. Får då ut en vektor som ser ut så här i början om man skriver ut den:
46 0 0 0 77 5
vilket är de korrekta värdena, men formatet är fel. Jag vill ha:
46 00 00 00 77 05
Så jag testade Format funktionen:
Return Format(Hex(str), "00")
Men detta ger bara en vektor som ser ut så här:
00 00 00 00 00 00
Hur kommer jag runt detta, så att jag får ett korrekt format?Sv:Proxy-inställningar i Internet Explorer
hexArray = Array.ConvertAll(byteArray, Function(b) b.ToString("X2"))
.... Sätter nya värden i hexArray ....
regVersion.SetValue("DefaultConnectionSettings", hexArray)
Så nu har jag kommit så långt att jag kan redigera nyckeln. Jag får dock ingen ordning på hur jag ska redigera den för att få önskat resultat. I post #17 i tråden du länkade till pratar han om att bit5-8 är en bitmask. Testade även värdena i post #16 för bit8, men de stämmer inte. Experimenterade även runt lite med att sätta bit5-8 till olika värden, men hittade inget mönster i det hela. Han pratar ju även om att första biten svarar mot AutoDetect, andra mot AutoConfig osv. Men så verkar det ju inte vara för mig iaf.
Som jag tolkar det: lsb alltid ett, alltså: XX XX XX X1
first bit=autodetect: XX XX XX X1 blir autodetect?
2nd=autoconfig: XX XX X1 X1 autoconfig?
En annan tolkning: lsb alltid ett, alltså: X1 X1 X1 X1
first bit=autodetect: X1 X1 X1 11 blir autodetect?
2nd=autoconfig: X1 X1 X1 11 X1 blir autoconfig?
Men såhär verkar det ju inte som man ska tolka det, för det blir bara fel. Vad missar jag?Sv: Proxy-inställningar i Internet Explorer
Checked:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:3c,00,00,00,14,00,00,00,<b>09</b>,00,00,00,0e,00,00,\
00,31,32,37,2e,30,2e,30,2e,31,3a,38,30,38,30,09,00,00,00,6c,6f,63,61,6c,68,\
6f,73,74,0b,00,00,00,31,31,31,2e,31,31,2e,31,31,31,31,01,00,00,00,00,00,00,\
00,30,fd,35,de,8d,27,c6,01,03,00,00,00,c0,a8,01,73,c0,a8,b8,01,c0,a8,85,01,\
00,00,00,00,00,00,00,00
Unchecked
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:3c,00,00,00,15,00,00,00,<b>01</b>,00,00,00,0e,00,00,\
00,31,32,37,2e,30,2e,30,2e,31,3a,38,30,38,30,09,00,00,00,6c,6f,63,61,6c,68,\
6f,73,74,0b,00,00,00,31,31,31,2e,31,31,2e,31,31,31,31,01,00,00,00,00,00,00,\
00,30,fd,35,de,8d,27,c6,01,03,00,00,00,c0,a8,01,73,c0,a8,b8,01,c0,a8,85,01,\
00,00,00,00,00,00,00,00 Sv:Proxy-inställningar i Internet Explorer
Nu har jag dock ett problem kvar. Jag vill även ha ett alternativ där man har de två nedersta rutorna ikryssade. Verkar inte finnas något lätt sätt att få till detta, utan man behöver ändra de flesta värdena i nyckeln, vilket blir ett långt och drygt arbete. Om någon vet något smidigare sätt, så vore jag tacksam.Sv: Proxy-inställningar i Internet Explorer
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"DefaultConnectionSettings"=hex:3c,00,00,00,14,00,00,00,<b>03</b>,00,00,00,0e,00,00,\
00,31,32,37,2e,30,2e,30,2e,31,3a,38,30,38,30,09,00,00,00,6c,6f,63,61,6c,68,\
6f,73,74,0b,00,00,00,31,31,31,2e,31,31,2e,31,31,31,31,01,00,00,00,00,00,00,\
00,30,fd,35,de,8d,27,c6,01,03,00,00,00,c0,a8,01,73,c0,a8,b8,01,c0,a8,85,01,\
00,00,00,00,00,00,00,00