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

2023-11-01

 

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();
		}
	}
	
}
 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 用python构造千万条ip地址

    技术手段 列表解析 技术引申 让学员思考如何实现输出1000以内的水仙花数 r range 1 6 r range 1 256 ip str x str y str z str w for x in r for y in r for z i
  • 获取窗体句柄:通过窗体标题模糊查询

    对于 HWND FindWindow LPCTSTR lpClassName LPCTSTR lpWindowName lpWindowName必须和查询窗体标题完全相等情况下才可正确返回窗体句柄 比如若想查询窗体 无标题 记事本 CStr
  • git 回滚代码

    1 本地回滚 第一种方式 右击要回滚的代码版本记录 1 点击copy Revision Number 赋值版本号 右击项目 git gt Reset HEAD 版本号复制到 To Commit ReseType 选择hard 第二种方式 命
  • post请求:前端传递数组到后端,后端顺利接受数组

    前端 可能需要解释的地方 deletePicture是一个数组 后端 后端采用 requestBody注解 JSONArray来接受前端数组 测试过了 确实可以接收 总结 前端采用JSON string将对象转化为字符串 后端采用 requ
  • mysql binlog产生的原理

    简单来说就是 1 MySQL每次执行修改类操作 都会将日志刷新到binlog cache中 2 由于sync binlog 1的存在 会将cache中的日志缓冲每次事务提交都刷写到磁盘定义好的文件中 3 当触发日志的滚动条件出现 例如 fl
  • NeRF神经辐射场学习笔记(十一)— NeRF渲染测试数据

    NeRF神经辐射场学习笔记 十一 NeRF渲染测试数据 声明 实验流程 参考文献和资料 声明 本人书写本系列博客目的是为了记录我学习三维重建领域相关知识的过程和心得 不涉及任何商业意图 欢迎互相交流 批评指正 实验流程 选择训练的数据集 可
  • Python爬虫怎么挣钱?6个Python爬虫赚钱方式,搞搞副业不是问题

    1 最典型的就是找爬虫外包活儿 网络爬虫最通常的的挣钱方式通过外包网站 做中小规模的爬虫项目 向甲方提供数据抓取 数据结构化 数据清洗等服务 新入行的程序员大多都会先尝试这个方向 直接靠技术手段挣钱 这是我们技术人最擅长的方式 因项目竞价的
  • Java——Tesseract-OCR使用中文包报错read_params_file

    在Tesseract OCR下执行命令 tesseract test jpg result l chi tra 报错 read params file parameter not found allow blob division 环境 W
  • 30 - LSTM,LSTMP手撸代码

    文章目录 1 原理 2 代码 3 小结 1 原理 2 代码 import torch from torch import nn bs T i size h size 2 3 4 5 h0 torch randn bs h size c0 t
  • 软件测试工具Robot Framework如何安装

    安装文件准备 表1 安装文件准备 分类 名字 下载文件 下载地址 详情 Robot Python Welcome to Python org 安装Python Robot Framework robotframework PyPI 安装Ro
  • QT框架简介

    刚开始接触QT开发的时候用的是Qt 5 6 0版本 开发过程中没有仔细了解过Qt具体的框架结构 只负责项目相关模块用C 进行开发和维护 对QT本身没有关注 只是当成一个开发工具而已 随着维护的内容深入 发现来对整个项目缺乏全面的了解 不知道
  • maven alibaba JSON的依赖架包

  • nw.js初探

    NW js由node webkit项目发展而来 其实很多东西官网上都有 但是鉴于搜索引擎 百度 google 搜索到的相关文章 让人看的很不明白 所以决定写下此篇文章 官网 https nwjs io 中文文档 http nwjs cn r
  • Docker Zookeeper 单节点+集群部署

    Dokcer 一键快速部署Zookeeper 首先要具备Docker环境 当前实验环境 Mac Docker 18 09 2 docker compose 一 Zookeeper单节点模式 docker search zookeeper d
  • SpringBoot自动装配原理学习与实战运用

    一 本文概览 我们知道SpringBoot就是框架的框架 它解决了Spring在开发过程中繁琐的配置问题 例如在引入web aop data cache等等场景 以往我们使用Spring时 会需要向容器中手动配置DispatchServle
  • Python 在子类中调用父类方法详解(单继承、多层继承、多重继承)

    测试环境 win7 64位 Python版本 Python 3 3 5 代码实践 1 在子类中通过 类名 调用父类的方法 class FatherA def init self print init action in father cla
  • 【神经网络搜索】Once for all

    GiantPandaCV导语 Once for all是韩松组非常有影响力的工作 其最大的优点是解耦了训练和搜索过程 可以直接从超网中采样出满足一定资源限制的子网 而不需要重新训练 该工作被ICLR20接收 文章目录 0 Info 1 Mo
  • 安装dataX的问题,com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe

    文章目录 报错 安装 解决方法 总结 报错 com alibaba datax common exception DataXException Code Common 00 Describe 您提供的配置文件存在错误信息 请检查您的作业配置
  • 在Stm32CubeIDE环境下使用DAP-Link仿真

    目录 一 文章背景 二 准备工作 三 调试过程 四 编写脚本自动执行OpenOCD服务 前言 本文所述方法可能已在新版本的CubeIDE中失效 原因是ST官方在新版本时作了进一步的检测和屏蔽 读者参考本文后在新版本的CubeIDE中若无法使
  • [JAVA实时屏幕监控]JAVA通过注册表获取Internet代理设置

    JAVA通过注册表获取Internet代理设置 描述 这里利用JNI方式 涉及到本地动态链接库ICE JNIRegistry dll和注册表操作类库registry jar 首先Registry openSubkey 打开指定的注册表项 然