Avatar billede cmau Nybegynder
16. august 2006 - 13:13 Der er 28 kommentarer og
1 løsning

Script som konfigurer proxy indstillinger i firefox

Hejsa

Jeg ville høre hvordan man kunne lave et vbs script, som skiftede mellem dirkete forbindelse og proxy forbindelse i firefox. Jeg har et til internet explorer, men hvordan er dette muligt med firefox.

Dim oShell
Set oShell = CreateObject ("WSCript.shell")
Dim path

path ="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\"

If oShell.Regread (path & "ProxyEnable") = "1" Then
        oShell.RegWrite path & "ProxyEnable", ""
        msgbox "Fra", vbInformation
Else
        oShell.RegWrite path & "ProxyEnable", "1"
        oShell.RegWrite path & "Proxyoverride", "10.10.10.1;<local>"
        oShell.RegWrite path & "Proxyserver", "10.10.10.1:8080"
    msgbox "Til", vbInformation
End If
Avatar billede arne_v Ekspert
17. august 2006 - 02:15 #1
de ligger som tekst linier i C:\Documents and Settings\xxxx\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.default\prefs.js
Avatar billede cmau Nybegynder
17. august 2006 - 20:41 #2
Tak for det arne :)

Når proxy er til bliver denne linje tilføjet:
user_pref("network.proxy.type", 1);

Den står lige under
kode...
user_pref("network.proxy.ssl_port", 8080);
user_pref("network.proxy.type", 1);
...kode

Men kan faktisk overhovedet ikke finde ud af vbs, så måske en ville lave et eksempel eller linke til andre spørgsmål om emnet?
Avatar billede arne_v Ekspert
20. august 2006 - 04:39 #3
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("test.txt",1)
alllines = f.ReadAll
f.Close
Set f = fso.OpenTextFile("test.txt",2)
f.Write Replace(alllines,"4", "4" + vbcrlf + "4A")
f.close
Set f = Nothing
Set fso = Nothing

erstatte en linie med

4

med to linier med

4
4A

i en fil ved navn test.txt
Avatar billede cmau Nybegynder
20. august 2006 - 20:08 #4
Okay, men hvis linjen så findes, sletter den så den ekstra linje igen?
Avatar billede arne_v Ekspert
20. august 2006 - 20:12 #5
f.Write Replace(alllines, "4" + vbcrlf + "4A", "4")
Avatar billede cmau Nybegynder
20. august 2006 - 20:17 #6
Hvor skal den nye linje være?
Avatar billede arne_v Ekspert
20. august 2006 - 20:45 #7
min ide var at have to VBS filer - en til at enable og en til at disable - d.v.s.
en som indsætter en linie og en som fjerner en linie

den linie erstatter den tilsvarende linie i scriptet ovenfor
Avatar billede cmau Nybegynder
20. august 2006 - 20:50 #8
Nedenståede kode har jeg i asd.vbs, men den skriver ikke noget til en fil som indeholder:
A
B
C
D
E

Dim oShell
Set oShell = CreateObject ("WSCript.shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("test.txt",1)
alllines = f.ReadAll
f.Close
Set f = fso.OpenTextFile("test.txt",2)
f.Write Replace(alllines,"4", "4" + vbcrlf + "4A")
f.close
Set f = Nothing
Set fso = Nothing
    msgbox "Til", vbInformation
Avatar billede arne_v Ekspert
20. august 2006 - 20:52 #9
det er korrekt

der findes ikke en streng "4" i filen, så der sker ikke en replace

du skal tilrette "4" og "4A" til at være det rigtige for din fil
Avatar billede cmau Nybegynder
20. august 2006 - 20:57 #10
Dim oShell
Set oShell = CreateObject ("WSCript.shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("C:\Documents and Settings\WooX\Application Data\Mozilla\Firefox\Profiles\x84obmvs.default\prejs.js",1)
alllines = f.ReadAll
f.Close
Set f = fso.OpenTextFile("C:\Documents and Settings\WooX\Application Data\Mozilla\Firefox\Profiles\x84obmvs.default\prejs.js",2)
f.Write Replace(alllines,'user_pref("network.proxy.ssl_port", 8080);', 'user_pref("network.proxy.ssl_port", 8080);' + vbcrlf + 'user_pref("network.proxy.type", 1);')
f.close
Set f = Nothing
Set fso = Nothing
    msgbox "Til", vbInformation
Avatar billede cmau Nybegynder
20. august 2006 - 20:59 #11
Får fejl ved denne kode prejs.js skulle være prefs.js
Avatar billede arne_v Ekspert
20. august 2006 - 21:13 #12
hvilken fejl ?
Avatar billede cmau Nybegynder
20. august 2006 - 21:15 #13
Linje 8
Tegn 26
Syntaksfejl
kode: 800A03EA
Der opsod en microsoft vbscript komplieringsfejl
Avatar billede arne_v Ekspert
20. august 2006 - 21:26 #14
lyder som om du skal bruge "" og ikke '' og så fordoble " inden i strengen !
Avatar billede cmau Nybegynder
20. august 2006 - 21:36 #15
Så nu virker begge filer, men er det ikke muligt at få det  sat sammen til en fil?
Avatar billede arne_v Ekspert
20. august 2006 - 21:51 #16
der er det vel

alt er muligt for den som ...

:-)

If InStr(alllines, "det som muligvis skal være der") > 0 Then
  ' fjern det
Else
  ' tilføj det
End If
Avatar billede cmau Nybegynder
20. august 2006 - 21:57 #17
Efter hvad jeg kan se virker det, men venter lige til at har været i skole i morgen for at teste. Den kode jeg gav i selve spørgsmålet, kan den så bare smide ind efter den nhye kode også gør den det for både firefox og internet explorer
Avatar billede arne_v Ekspert
20. august 2006 - 22:00 #18
det bør sagtens kunne kombineres
Avatar billede cmau Nybegynder
20. august 2006 - 22:05 #19
Lyder dejligt.

Hvordan er det muligt at skrive i scriptet, altså kommentar osv?
Avatar billede cmau Nybegynder
20. august 2006 - 22:09 #20
Denne linje optræder 2 gange:
Set f = fso.OpenTextFile("C:\Documents and Settings\WooX\Application Data\Mozilla\Firefox\Profiles\x84obmvs.default\prefs.js",2)

Blot med 1 i stedet for 2, et dette nødvendigt, kan man evt lave så det kun skal skrives et sted også selv henter ud via envariabel med navnet sti?
Avatar billede arne_v Ekspert
20. august 2006 - 22:29 #21
kommentarer starter med '
Avatar billede arne_v Ekspert
20. august 2006 - 22:29 #22
sti = "C:\Documents and Settings\WooX\Application Data\Mozilla\Firefox\Profiles\x84obmvs.default\prefs.js"
Set f = fso.OpenTextFile(sti",2)
Avatar billede cmau Nybegynder
20. august 2006 - 22:44 #23
Tak :) Men var der en grund til at set f = fso.opentextfile... var 2 gange i koden?
Avatar billede arne_v Ekspert
21. august 2006 - 00:43 #24
ja - den ene gang åbnes til læsning og den anden til skrivning
Avatar billede cmau Nybegynder
21. august 2006 - 08:24 #25
Okay :)
Kan jeg bare sæte koden jeg skrev til at starte med under den anden.
Avatar billede cmau Nybegynder
23. august 2006 - 08:19 #26
jeg har lige et spørgsmål mere. Hvordan kan jeg lave så:

user = "WooX"
id = "x84obmvs.default"
sti = "C:\Documents and Settings\xxxx\Application Data\Mozilla\Firefox\Profiles\xxxx\prefs.js"
Set f = fso.OpenTextFile(sti",2)


Hvor xxxx skal være variablen fra user og id.
Avatar billede arne_v Ekspert
24. august 2006 - 04:10 #27
nej - du skal bruge en if som beskrevet
Avatar billede arne_v Ekspert
24. august 2006 - 04:11 #28
almindelig konkatanering

user = "WooX"
id = "x84obmvs.default"
sti = "C:\Documents and Settings\" & user & "\Application Data\Mozilla\Firefox\Profiles\" & id & "\prefs.js"
Set f = fso.OpenTextFile(sti",2)
Avatar billede arne_v Ekspert
24. august 2006 - 04:11 #29
og et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester