`
linxtong
  • 浏览: 7118 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

VBS脚本控制软件网络代理启用与否--IE,Firefox,有道词典

    博客分类:
  • VBS
阅读更多

由于在公司访问外网需要使用代理设置,而回家之后就又要取消代理设置。每天都得来回的设置IE Firefox 有道词典……有点烦了。

于是乎,想写个脚本自启动时控制一下,首先就得找到软件的代理设置是保存在哪儿的?找到后才能修改。。。

IE代理启用控制:

 

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable

 

FireFox的代理启用控制:

C:\Documents and Settings\User name\Application Data\Mozilla\Firefox\Profiles\lnll6u8i.default\prefs.js

 

有道词典的代理启用控制:

 

C:\Documents and Settings\User name\Local Settings\Application Data\Yodao\DeskDict\config.ini

 

 

然后看代码吧:

 

Const REG_INTERNET_SETTINGS_PATH = "Software\Microsoft\Windows\CurrentVersion\Internet Settings"

'=================================================================================================
' Check connectivity to company intranet (pinging win.dom.XXXXX.com).
'=================================================================================================
Function NetCheck

	Dim objWMIService, objComputer, colPing
	'You can find the explanations for the code as below from http://club.excelhome.net/thread-201282-1-1.html
	Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
	Set colPing = objWMIService.ExecQuery _
		("Select * from Win32_PingStatus Where Address = 'win.dom.XXXXX.com'")
	For Each objComputer in colPing
		If objComputer.StatusCode = 0 Then
			NetCheck  = True
		Else
			NetCheck  = False
	   End If
	Next

End Function

'=================================================================================================
' Replace the original string with the new string in a text file.
'=================================================================================================
Sub ReplaceInFiles(FilePath,originalStr,newStr)
	Dim url,Retrieval,FileAllText
	Dim FSObject,f1
	On Error Resume next
	Const ForReading = 1, ForWriting = 2

	'Get the original text and replace
	Set FSObject = CreateObject("scripting.FileSystemObject")
	Set f1 = FSObject.OpenTextFile(FilePath,ForReading)
	FileAllText=f1.ReadAll
	
	FileAllText=Replace(FileAllText,originalStr,newStr)

	
	'Create new file to repleace the original file
	Set FSObject = CreateObject("scripting.FileSystemObject")
	Set f1 = FSObject.CreateTextFile(FilePath, True)
	f1.writeline FileAllText
	
	If   err.number <> 0   Then 
			Msgbox "There is some error:"& err.number&"-"&err.Description
	  		Set FSObject = Nothing
			Exit Sub
		Else 
			'msgbox "Successfully replace!"   
	End If
	
End Sub


'=================================================================================================
' Main File
'=================================================================================================
Sub Main
	On Error Resume Next

	Dim objShell
	'--- Set Objects ---
	Set objShell = CreateObject("WScript.Shell")

	'--- Exit if not connected to company intranet
	If NetCheck = False Then
		'Here 0 disable the proxy
		objShell.RegWrite "HKEY_CURRENT_USER\" & REG_INTERNET_SETTINGS_PATH & "\ProxyEnable", 0, "REG_DWORD" 
		Call ReplaceInFiles("C:\Documents and Settings\User name\Application Data\Mozilla\Firefox\Profiles\lnll6u8i.default\prefs.js","user_pref(""network.proxy.type"", 1);","user_pref(""network.proxy.type"", 0);")
		Call ReplaceInFiles("C:\Documents and Settings\User name\Local Settings\Application Data\Yodao\DeskDict\config.ini","USEPROXY=1","USEPROXY=0")
		Msgbox "Successfully finish"

		Set objShell = Nothing
	Else
		'Here 1 disable the proxy
		objShell.RegWrite "HKEY_CURRENT_USER\" & REG_INTERNET_SETTINGS_PATH & "\ProxyEnable", 1, "REG_DWORD" 
		Call ReplaceInFiles("C:\Documents and Settings\User name\Application Data\Mozilla\Firefox\Profiles\lnll6u8i.default\prefs.js","user_pref(""network.proxy.type"", 0);","user_pref(""network.proxy.type"", 1);")
		Call ReplaceInFiles("C:\Documents and Settings\User name\Local Settings\Application Data\Yodao\DeskDict\config.ini","USEPROXY=0","USEPROXY=1")
		Msgbox "Successfully finish"
		Set objShell = Nothing
	End If
End Sub



Call Main
 

把代码保存到一个VBS文件(如proxysetting.vbs)放到自启动文件夹(C:\Documents and Settings\User name\Start Menu\Programs\Startup)下,每次插上网线启动机子,它就会自动设置代理设置。也可以放在桌面直接双击运行。

 

PS:这个脚本还有很大的改进空间,应该可以做成实时扫描,这样就不用每次插上网线启动机子,但是这样又得重启应用程序才能使代理设置生效。也许应该在脚本中加上重启应用程序的代码。
       如果各位大牛有更好的方法,还望共享。

分享到:
评论

相关推荐

    VBS脚本管理本地连接的网卡禁用启用

    通过VBS脚本可以实现对计算机硬件的控制,如网络适配器的启用与禁用等操作。本文详细介绍如何利用VBS脚本配合bat批处理实现“无线网络连接”与“本地连接”的自动切换,特别适用于需要频繁切换不同网络连接场景的...

    VBS脚本控制串口的简单示例

    ### VBS脚本控制串口的简单示例 #### 知识点概述 本文将详细介绍一个简单的使用VBS(Visual Basic Scripting Edition)脚本来控制串口通信的例子。该示例程序非常精简,仅有十行代码,并附带了简单的注释说明。...

    VBS脚本语言教程

    VBS 脚本语言教程 VBS 脚本语言教程是适合初学者的入门教程,旨在与大家分享 VBS 脚本语言的基础知识和编程技巧。通过本教程,读者可以学习 VBS 脚本语言的基本语法、变量、数组、函数等知识点,并掌握编写简单的 ...

    VBS实例 44个 vbs脚本实例

    VBS实例 44个 vbs脚本实例, VBS取QQ-TM号码的自动登录命令行.vbs 妙用脚本清除电脑中的痕迹.vbs 后台字典文件管理器.vbs 定时关机.vbs 列出管理工具集.vbs 旁注查询工具.vbs 中文姓名笔画计算(VBS脚本版).vbs ...

    vbs脚本语言

    * 控制结构:VBScript 语言中控制结构包括条件语句、循环语句、选择语句等。 VBScript 的使用场景: * 自动化任务:VBScript 语言可以自动化各种任务,例如自动备份、自动发送邮件等。 * 系统管理:VBScript 语言...

    VBS脚本编程简明教程

    - 引用并正确使用这些对象,VBS脚本即可实现从文本处理到系统控制等多种功能,相当于利用现有工具解决具体问题,避免了“从零开始”的资源浪费。 二、VBS脚本的编写与执行 VBS脚本的编写并不依赖于特定的开发环境...

    VBS脚本执行exe

    VBS是基于Microsoft Visual Basic for Applications (VBA) 的一种脚本语言,它允许开发者通过简单的脚本命令来控制Windows环境下的各种对象。由于其简单易学的特点,VBS被广泛应用于Windows系统的管理和维护工作之中...

    WinCC常用C和VBS脚本.pdf

    WinCC是西门子提供的一款用于监控和控制工业系统的软件,而C脚本和VBS脚本是WinCC中支持的两种脚本语言,分别代表C语言风格的脚本和Visual Basic Scripting Edition(VBS)风格的脚本。 1. WinCC脚本基础 在WinCC...

    wincc vbs脚本手册

    wincc vbs脚本手册 西门子 组态 脚本

    VBS脚本学习指南,适合初学者

    ### VBS脚本学习指南——基础知识与应用 #### 一、VBS脚本概述 VBS,即Microsoft Visual Basic Script Edition(微软可视化BASIC脚本版),是Microsoft为Windows操作系统提供的一种轻量级脚本语言。它基于Visual ...

    VBS控制鼠标和按键的脚本

    在“VBS控制鼠标和按键的脚本”中,我们可以利用VBScript提供的功能来模拟用户对鼠标的点击、移动以及键盘的按键操作。这种技术在自动化测试、系统维护或创建用户自定义工具时非常有用。 首先,我们要了解VBScript...

    Vbs脚本编程简明教程

    VBS脚本编程是一种在Windows操作系统环境下非常流行的脚本语言编程方式。它是一种简单的编程语言,通常用于自动化Windows应用程序的管理任务。VBS是Visual Basic Script的简称,它是Visual Basic的一种轻量级脚本...

    vbs脚本打开web窗口隐藏地址栏和工具栏

    对于其他浏览器,如Chrome或Firefox,可能需要使用不同的方法或者使用它们的API(如Chrome的`chrome.exe --kiosk`或Firefox的`firefox.exe -private-window`)。 由于提供的压缩包文件名为`vbshtml.vbs`,我们可以...

    c++调用vbs脚本函数(Qt)

    标题“c++调用vbs脚本函数(Qt)”指出了一个具体的技术实践,即在Qt环境下,使用C++代码来调用VBScript中的函数。这通常是为了利用VBScript在处理Windows特定任务,如自动化、文件操作或与COM组件交互时的便利性。 ...

    vbs脚本手册

    VBS脚本运行库手册之一(磁盘操作) VBS脚本运行库手册之二(磁盘操作) VBS脚本运行库手册之三(管理文件夹) VBS脚本运行库手册之四(管理文件夹) VBS脚本运行库手册之五(文件夹属性) VBS脚本运行库手册之...

    VBS脚本开发工具

    VBS脚本开发工具是专为编写、调试和优化VBS脚本而设计的软件或平台,它们通常提供代码编辑器、调试器和语法高亮等特性,以提高开发效率和代码质量。 在提供的文件列表中,我们看到几个关键资源: 1. "Microsoft ...

    windows常用bat/vbs脚本合集

    在Windows操作系统中,批处理(BAT)脚本和Visual Basic Script(VBS)脚本是两种常见的自动化工具,用于执行一系列命令或者实现特定的功能。这个"windows常用bat/vbs脚本合集"可能是包含了多种实用脚本的集合,旨在...

    VBS脚本教程--经典(包你学会)

    VBS脚本,全称Visual Basic Script,是微软公司推出的一种基于Visual Basic编程语言的脚本版本。它是一种轻量级、解释型的编程语言,主要用于网页交互、系统管理、自动化任务等领域。VBS脚本教程是学习这种语言的...

    helloworld vbs 脚本

    helloworld vbs 脚本hellohelloworld vbs 脚本world vbs 脚本helloworld vbs 脚本helloworld vbs 脚本helloworld vbs 脚本

    vb调用vbs脚本

    VB主要用于构建桌面应用程序,而VBS则常用于网页脚本和自动化任务。本文将详细探讨如何在VB中调用VBS脚本,以及相关的知识点。 首先,VB调用VBS脚本的主要目的是利用VBS的灵活性和简洁性来执行一些特定任务,如系统...

Global site tag (gtag.js) - Google Analytics