获取电脑信息(登录电脑的进程、C盘文件信息、浏览器信息、IP)

电脑的进程信息

		// 获取登录电脑的进程信息String os = System.getProperty("os.name").toLowerCase();String command;if (os.contains("win")) {command = "tasklist";} else {command = "ps -ef";}try {Process process = new ProcessBuilder(command.split(" ")).start();// 关键修改:指定 GBK 编码try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream(), "GBK"))) {String line;while ((line = reader.readLine()) != null) {System.out.println(line);}}} catch (IOException e) {e.printStackTrace();}

C盘文件信息

        // 获取 C 盘第二级文件列表及内容if (os.contains("win")) {File cDrive = new File("C:\\");File[] firstLevelFiles = cDrive.listFiles();if (firstLevelFiles != null) {for (File firstLevelFile : firstLevelFiles) {if (firstLevelFile.isDirectory() && !firstLevelFile.getName().startsWith("$")) {System.out.println("一级文件夹: " + firstLevelFile.getName());File[] secondLevelFiles = firstLevelFile.listFiles();if (secondLevelFiles != null) {for (File secondLevelFile : secondLevelFiles) {if (!secondLevelFile.getName().startsWith("$")) {System.out.println("  二级文件/文件夹名称: " + secondLevelFile.getName());if (secondLevelFile.isFile()) {try {Path filePath = Paths.get(secondLevelFile.getAbsolutePath());// 指定 UTF-8 编码读取文件,可根据实际情况修改try (Stream<String> lines = Files.lines(filePath, StandardCharsets.UTF_8)) {lines.forEach(System.out::println);}} catch (java.nio.charset.MalformedInputException ex) {System.err.println("文件 " + secondLevelFile.getName() + " 的编码格式不匹配: " + ex.getMessage());} catch (IOException ex) {System.err.println("读取文件 " + secondLevelFile.getName() + " 时出错: " + ex.getMessage());}}}}}}}}}

电脑名称、IP

            // 获取电脑名称和 IP 地址InetAddress localHost = InetAddress.getLocalHost();String computerName = localHost.getHostName();String computerIp = localHost.getHostAddress();System.out.println("电脑名称: " + computerName);System.out.println("电脑 IP 地址: " + computerIp);

获取电脑使用登录浏览器信息

// 获取默认浏览器信息
String browserInfo = getDefaultBrowserInfo();
System.out.println("默认浏览器: " + browserInfo);
private String getDefaultBrowserInfo() {String os = System.getProperty("os.name").toLowerCase();if (os.contains("win")) {return getDefaultBrowserOnWindows();} else if (os.contains("linux")) {return getDefaultBrowserOnLinux();}return "Unable to determine default browser due to unknown OS";}private String getDefaultBrowserOnWindows() {try {Process process = Runtime.getRuntime().exec("reg query HKCU\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice /v Progid");BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));String line;while ((line = reader.readLine()) != null) {if (line.contains("Progid")) {String[] parts = line.trim().split("\\s+");if (parts.length >= 3) {String browserKey = parts[2];switch (browserKey) {case "ChromeHTML":return "Google Chrome";case "FirefoxURL":return "Mozilla Firefox";case "IE.HTTP":return "Internet Explorer";case "AppXq0fevzme2pys62n3e0fbqa7peapykr8v":return "Microsoft Edge";default:return "Unknown Browser: " + browserKey;}}}}} catch (IOException e) {e.printStackTrace();}return "Unable to determine default browser";}private String getDefaultBrowserOnLinux() {try {// 尝试读取 $BROWSER 环境变量String browserEnv = System.getenv("BROWSER");if (browserEnv != null && !browserEnv.isEmpty()) {return browserEnv;}// 尝试使用 xdg-settings 命令Process process = Runtime.getRuntime().exec("xdg-settings get default-web-browser");BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));String line = reader.readLine();if (line != null) {if (line.contains("chrome")) {return "Google Chrome";} else if (line.contains("firefox")) {return "Mozilla Firefox";} else {return "Unknown Browser: " + line;}}} catch (IOException e) {e.printStackTrace();}return "Unable to determine default browser";}

此代码只为样例,实际情况自己分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/77805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在腾讯云Ubuntu服务器上部署Node.js项目

最近弄了一个Node.js项目&#xff0c;包含前端用户前台&#xff0c;管理后台和服务端API服务三个项目&#xff0c;本地搭建好了&#xff0c;于是在腾讯云上新建了个Ubuntu 24.04服务器&#xff0c;想要将本地的Node.js项目部署上去&#xff0c;包括环境配置和数据库搭建。 本文…

国产AI新突破!全球首款无限时长电影生成模型SkyReels-V2开源:AI视频进入长镜头时代!

在 AI 技术日新月异的今天&#xff0c;我们再次见证了历史性的突破。 昆仑万维 SkyReels 团队于近日正式发布了全球首款支持无限时长的电影生成模型——SkyReels-V2&#xff0c;并免费开源。这无疑为 AI 视频领域掀开了崭新的一页&#xff0c;标志着 AI 视频正式迈入长镜头时代…

SpringAI系列 - MCP篇(一) - 什么是MCP

目录 一、引言二、MCP核心架构三、MCP传输层(stdio / sse)四、MCP能力协商机制(Capability Negotiation)五、MCP Client相关能力(Roots / Sampling)六、MCP Server相关能力(Prompts / Resources / Tools)一、引言 之前我们在接入大模型时,不同的大模型通常都有自己的…

一个很简单的机器学习任务

一个很简单的机器学习任务 前言 基于线上colab做的一个简单的案例&#xff0c;应用了线性回归算法&#xff0c;预测了大概加州3000多地区的房价中位数 过程 先导入了Pandas&#xff0c;这是一个常见的Python数据处理函数库 用Pandas的read_csv函数把网上一个共享数据集&…

【第十六届 蓝桥杯 省 C/Python A/Java C 登山】题解

题目链接&#xff1a;P12169 [蓝桥杯 2025 省 C/Python A/Java C] 登山 思路来源 一开始想的其实是记搜&#xff0c;但是发现还有先找更小的再找更大的这种路径&#xff0c;所以这样可能错过某些最优决策&#xff0c;这样不行。 于是我又想能不能从最大值出发往回搜&#xf…

软件工程师中级考试-上午知识点总结(上)

我总结的这些都是每年的考点&#xff0c;必须要记下来的。 1. 计算机系统基础 1.1 码 符号位0表示正数&#xff0c;符号位1表示负数。补码&#xff1a;简化运算部件的设计&#xff0c;最适合进行数字加减运算。移码&#xff1a;与前几种不同&#xff0c;1表示&#xff0c;0表…

Python Cookbook-6.7 有命名子项的元组

任务 Python 元组可以很方便地被用来将信息分组&#xff0c;但是访问每个子项都需要使用数字索引&#xff0c;所以这种用法有点不便。你希望能够创建一种可以通过名字属性访问的元组。 解决方案 工厂函数是生成符合要求的元组的子类的最简单方法: #若在2.4中可使用operator…

win10设置软件开机自启

参考教程&#xff1a;windows10应用程序设置了开机启动&#xff0c;但没有自启_win10软件设置了自启动但是不能自启动-CSDN博客 主要设置是安全策略&#xff1a;

自注意力机制、多头自注意力机制、填充掩码 Python实现

原理讲解 【Transformer系列&#xff08;2&#xff09;】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解 自注意力机制 import torch import torch.nn as nn# 自注意力机制 class SelfAttention(nn.Module):def __init__(self, input…

【大模型】Browser-Use AI驱动的浏览器自动化工具

Browser-Use AI驱动的浏览器自动化工具 1. 项目概述2. 核心架构3. 实战指南3.1 环境安装3.2 快速启动3.3 进阶功能 4. 常见问题与解决5. 项目优势与局限6. 扩展资源7. 总结 1. 项目概述 项目地址&#xff1a;browser-use Browser-Use 是一个开源工具&#xff0c;旨在通过 AI 代…

ubuntu20.04安装安装x11vnc服务基于gdm3或lightdm这两种主流的显示管理器。

前言&#xff1a;在服务端安装vnc服务&#xff0c;可以方便的远程操作服务器&#xff0c;而不用非要插上显示器才行。所以在服务器上安装vnc是很重要的。在ubuntu20中&#xff0c;默认的显示管理器已经变为gdm3&#xff0c;它可以带来与 GNOME 无缝衔接的体验&#xff0c;强调功…

用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置

原文链接&#xff1a;用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在银河麒麟操作系统的 LiveCD 或系统试用镜像环境下&#xff0c;如何查看原系统中电脑的 IP 地址与网络打印机 IP 地址的实用教程。在系统损坏…

C++——STL——容器deque(简单介绍),适配器——stack,queue,priority_queue

目录 1.deque&#xff08;简单介绍&#xff09; 1.1 deque介绍&#xff1a; 1.2 deque迭代器底层 1.2.1 那么比如说用迭代器实现元素的遍历&#xff0c;是如何实现的呢&#xff1f; 1.2.2 头插 1.2.3 尾插 1.2.4 实现 ​编辑 1.2.5 总结 2.stack 2.1 函数介绍 2.2 模…

Java并发编程-线程池

Java并发编程-线程池 线程池运行原理线程池生命周期线程池的核心参数线程池的阻塞队列线程池的拒绝策略线程池的种类newFixedThreadPoolnewSingleThreadExecutornewCachedThreadPoolnewScheduledThreadPool 创建线程池jdk的Executors(不建议&#xff0c;会导致OOM)jdk的ThreadP…

【前沿】成像“跨界”测量——扫焦光场成像

01 背景 眼睛是人类认识世界的重要“窗口”&#xff0c;而相机作为眼睛的“延伸”&#xff0c;已经成为生产生活中最常见的工具之一&#xff0c;广泛应用于工业检测、医疗诊断与影音娱乐等领域。传统相机通常以“所见即所得”的方式记录场景&#xff0c;传感器捕捉到的二维图像…

TM1640学习手册及示例代码

数据手册 TM1640数据手册 数据手册解读 这里我们看管脚定义DIN和SCLK&#xff0c;一个数据线一个时钟线 SEG1~SEG8为段码&#xff0c;GRID1~GRID16为位码&#xff08;共阴极情况下&#xff09; 这里VDD给5V 数据指令 数据命令设置 地址命令设置 显示控制命令 共阴极硬件连接图…

uni-app 开发企业级小程序课程

课程大小&#xff1a;7.7G 课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/90616393 更多资源下载&#xff1a;关注我 备注&#xff1a;缺少两个视频5-14 tabs组件进行基本的数据展示和搜索历史 处理searchData的删除操作 1-1导学.mp4 2-10小程序内…

判断点是否在多边形内

代码段解析: const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); 第一部分:(yi > y) !== (yj > y) 作用:检查点 (x,y) 的垂直位置是否跨越多边形的当前边。 yi > y 和 yj > y 分别检查边的两个端…

【redis】集群 如何搭建集群详解

文章目录 集群搭建1. 创建目录和配置2. 编写 docker-compose.yml完整配置文件 3. 启动容器4. 构建集群超时 集群搭建 基于 docker 在我们云服务器上搭建出一个 redis 集群出来 当前节点&#xff0c;主要是因为我们只有一个云服务器&#xff0c;搞分布式系统&#xff0c;就比较…

[langchain教程]langchain03——用langchain构建RAG应用

RAG RAG过程 离线过程&#xff1a; 加载文档将文档按一定条件切割成片段将切割的文本片段转为向量&#xff0c;存入检索引擎&#xff08;向量库&#xff09; 在线过程&#xff1a; 用户输入Query&#xff0c;将Query转为向量从向量库检索&#xff0c;获得相似度TopN信息将…