`
yeshaoting
  • 浏览: 666933 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[JAVA实时屏幕监控]JAVA通过注册表获取Internet代理设置

    博客分类:
  • J2SE
 
阅读更多

 

JAVA通过注册表获取Internet代理设置

 

 

描述:这里利用JNI方式(涉及到本地动态链接库ICE_JNIRegistry.dll和注册表操作类库registry.jar)。首先Registry.openSubkey()打开指定的注册表项,然后获取其下的键ProxyEnable的值。若ProxyEnable值为0,则代理未开启;若ProxyEnable值不为0,则表明代理开启,获取键ProxyServer的值,并据此设置代理服务器的各个协议。

 

说明1 键ProxyEnable的值是16进制,双字节DWORD的,用来表明系统当前是否开启Internet代理。

说明2 键ProxyServer的值是一字符串,用来指明系统当前的Internet代理服务器设置。这一设置分为二种情况,其一是对所有协议使用统一的代理服务器设置(值如:172.23.196.238:808),其二是所有协议使用自定义的代理服务器设置(值如:ftp=172.23.196.221:808;gopher=172.23.196.221:808;http=172.23.196.221:808;https=172.23.196.221:808;socks=172.23.196.221:1080)。

 

/**
 * Copyright (c) 2012 Trusted Software and Mobile Computing(TSMC)
 * All right reserved.
 *
 * Created on Apr 24, 2012 12:42:24 PM
 * http://jarg.iteye.com/
 * Author: Jarg Yee <yeshaoting@gmail.com>
 */
package com.iteye.jarg.monitor.util;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Properties;

import com.ice.jni.registry.RegDWordValue;
import com.ice.jni.registry.Registry;
import com.ice.jni.registry.RegistryKey;
import com.ice.jni.registry.RegistryValue;

/**
 * TODO 使用Internet代理服务器工具类
 * 2012-04-25 11:49
 */
public class InternetUtil
{
	
	/** 获取系统配置句柄 */
	private static final Properties prop = System.getProperties();
	
	/** 注册表中Internet表项位置 */
	private static final String Internet = "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings";

	
	/** 初始化代理 from Internet Settings */
	public static void initProxy()
	{
		
		try
		{
			// 注册表表项值
			RegistryKey registryKey = Registry.openSubkey(Registry.HKEY_CURRENT_USER, Internet, RegistryKey.ACCESS_READ);
			
			// 注册表表项键
			RegistryValue registryValue = registryKey.getValue("ProxyEnable");
			boolean proxyEnable = ((RegDWordValue) registryValue).getData() != 0;	// 代理设置是否开启
//			System.out.println("IE 是否启用了代理设置: " + proxyEnable);

			if (proxyEnable == true)	// 开启了Internet代理
			{
				registryValue = registryKey.getValue("ProxyServer");
				String proxyServer = new String(registryValue.getByteData());
				ProxyUtil.initProxy(proxyServer);
				System.out.println("使用IE代理服务器.");
			}
		}
		catch (Exception e)
		{
			System.out.println("ERROR:操作Windows注册表失败.");
//			e.printStackTrace();
		}
	}
	
}
 

 

 

 

 

 

分享到:
评论

相关推荐

    ICE分布式程序设计中文版

    1.2 Internet Communications Engine (Ice) 3 1.3 本书的篇章结 4 1.4 排字约定 4 1.5 源码示例 5 1.6 联系作者 5 1.7 Ice 支持 5 第 Ice 综述 7 第 2 章 Ice 综述 9 2.1 本章综 9 2.2 Ice 架构 9 2.3 Ice 服务 21...

    Loadrunner报错日志

    Java连接池的大小设置,或JVM的设置等 3&gt;数据库的连接 在应用服务的性能参数可能太小了 数据库启动的最大连接数(跟硬件的内存有关) 以上信息有一定的参考价值,实际情况可以参考此类调试。 如果是以上所说的小用户...

    Visual C++实践与提高-COM和COM+篇『PDF』

    11.2.7 远程创建DLL组件:代理进程(surrogate) 11.2.8 IUnknown优化 11.2.9 DCOM安全机制 11.3 DCOM组件的开发与部署 11.3.1 基于NT服务的DCOM服务器——例程DCOMServ 11.3.2 测试服务程序 11.3.3 DCOMCNFG实用...

    TCP/IP技术大全(中文PDF非扫描版)

    TCP/IP是Internet上使用的协议,而Internet是世界上最大的互联网络。本书内容十分丰富,几乎涵盖了有关TCP/IP的各个方面,包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析...

    TCP-IP技术大全

    TCP/IP是Internet上使用的协议,而Internet是世界上最大的互联网络。本书内容十分丰富,几乎涵盖了有关TCP/IP的各个方面,包括开放式通信模型、TCP/IP通信模型、IP网络中的命名和寻址机制、地址解析及反向地址解析...

    TCP/IP教程TCP/IP基础

    7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导”协议(BOOTP) 71 8.2 动态主机配置协议(DHCP) 72 8.2.1 DHCP如何工作 72 8.2.2 理解租用地址 73 8.3 管理地址...

    TCP/IP技术大全

    7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导”协议(BOOTP) 71 8.2 动态主机配置协议(DHCP) 72 8.2.1 DHCP如何工作 72 8.2.2 理解租用地址 73 8.3 管理地址...

    TCP/IP详解

    7.8 通过LMHOSTS进行NetBIOS名字 解析 68 7.9 小结 69 第8章 地址发现协议(BOOTP和DHCP) 71 8.1 “引导”协议(BOOTP) 71 8.2 动态主机配置协议(DHCP) 72 8.2.1 DHCP如何工作 72 8.2.2 理解租用地址 73 8.3 管理地址...

    TCPIP协议详解(4-1)

    TCP/IP和Internet 8 2.1 一段历史 8 2.1.1 ARPANET 8 2.1.2 TCP/IP 9 2.1.3 国家科学基金会(NSF) 9 2.1.4 当今的Internet 12 2.2 RFC和标准化过程 12 2.2.1 获得RFC 13 2.2.2 RFC索引 13...

    精通websphere MQ

    目录.................................................................................................................................2 内容提要...........................................................

Global site tag (gtag.js) - Google Analytics