【进程检测】使用pywin32捕获window进程信息

需求

  1. 检测win系统依赖服务进程的运行情况,版本信息(进程检测器)
  2. 检测内外网连接情况

实现

进程检测

# 使用pywin32获取进程版本信息
def get_version_info(path):try:info = GetFileVersionInfo(path, '\\')ms = info['FileVersionMS']ls = info['FileVersionLS']version = f"{HIWORD(ms)}.{LOWORD(ms)}.{HIWORD(ls)}.{LOWORD(ls)}"return versionexcept Exception as e:print(f"无法获取版本信息: {e}")return Nonedef find_process_by_name(name, file):# 遍历活动进程for proc in psutil.process_iter(['pid', 'name', 'exe']):if name.lower() in proc.info['name'].lower():# 格式化输出print(f"{'-' * 40}进程 {name:^20} 存在.{'-' * 40}")print(f"找到进程: {proc.info['name']} (PID: {proc.info['pid']})")print(f"完整路径: {proc.info['exe']}")# 写入文件file.write(f"{'-' * 40}进程 {name:^20} 存在.{'-' * 40}\n")file.write(f"找到进程: {proc.info['name']} (PID: {proc.info['pid']})\n")file.write(f"完整路径: {proc.info['exe']}\n")# 获取版本信息version = get_version_info(proc.info['exe'])if version:print(f"版本信息: {version}")file.write(f"版本信息: {version}\n")print('-' * 112)print('\n')file.write('-' * 112 + '\n')      file.write('\n')return Trueprint(f"\n未找到进程 {name}.\n")file.write(f"\n未找到进程 {name}.\n")return False

网络检测

def check_network(host, port=80):"""检查网络连接是否正常。"""try:socket.create_connection((host, port), 2)return Trueexcept socket.error:return False

主函数


if __name__ == '__main__':output_file = open("检测结果.txt", "w", encoding="utf-8")try:        print("网络连接检测:")    out_ = check_network("www.baidu.com")in_ = check_network("192.168.xxx.xxx")print("外网访问:  ", "Success" if out_ else "Failed")print("内网访问:  ", "Success" if in_ else "Failed")output_file.write(f"网络连接检测:\n外网访问:  {'Success' if out_ else 'Failed'}\n"f"内网访问:  {'Success' if in_ else 'Failed'}\n\n")# 定义要检查的进程列表processes = ["*******e.exe",.....]for process_name in processes:find_process_by_name(process_name, output_file)print("检测完成,结果已写入检测结果.txt")finally:output_file.close()input("按任意键退出...")

运行结果

在这里插入图片描述

打包exe

!!!!!!!管理员打开powershell!!!!!!!

设置策略:set-executionpolicy remotesigned (选择y或者点击是)

查看策略:get-executionpolicy

创建虚拟环境:python -m venv my_env

切换到虚拟环境目录下:cd my_env\Scripts

激活环境:activate

查看py环境依赖:pip list (干干净净没有其他的依赖包)

安装py文件依赖:psutil、pywin32、pyinstaller

执行打包命令:pyinstaller --noconfirm .\gadget.py (带依赖目录,启动较快,但是要带个尾巴)

pyinstaller -F .\gadget.py (单独一个exe包,但是启动巨慢)

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

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

相关文章

C/C++樱花树代码

目录 写在前面 系列文章 C简介 完整代码 代码分析 写在后面 写在前面 C实现精美的樱花树,只需这100行代码! 系列文章 序号目录直达链接1爱心代码https://want595.blog.csdn.net/article/details/1363606842李峋同款跳动的爱心https://want595.b…

MySQL的高可用(MHA)

高可用模式下的故障切换,基于主从复制。 单点故障和主从复制不能切换的问题。 至少需要三台。 故障切换过程0-30秒 vip地址,根据vip地址所在的主机,确定主备。 主 vip 备 vip 主和备不是优先级确定的,主从复制的时候就确定…

通信原理-思科实验四:静态路由项配置实验

实验四 静态路由项配置实验 一:实验内容 二:实验目的 三、实验原理 四、实验步骤 选择三个2811型号的路由器 R1、R2、R3 路由器默认只有两个快速以太网接口,为路由器R1和R3增加快速以太网接口模块NM-1FE-TX,安装后检查路由器的接…

python使用rich.progress打印彩色进度条

常规的同步方法和for循环的进度,使用tqdm能很直观地展示进度;而一些异步协程或难以预估进度的,可以考虑使用rich.progress Ref: https://typer.tiangolo.com/tutorial/progressbar/#progress-bar 案例一:左侧展示旋转的小圈圈 …

机器学习(二十):偏差和方差问题

一、判断偏差和方差 以多项式回归为例,红点为训练集数据,绿点为交叉验证数据。 下图的模型,训练集误差大,交叉验证集误差大,这代表偏差很大 下图的模型,训练集误差小,交叉验证集误差小&#x…

等级保护 总结2

网络安全等级保护解决方案的主打产品: HiSec Insight安全态势感知系统、 FireHunter6000沙箱、 SecoManager安全控制器、 HiSecEngine USG系列防火墙和HiSecEngine AntiDDoS防御系统。 华为HiSec Insight安全态势感知系统是基于商用大数据平台FusionInsight的A…

外卖霸王餐系统架构怎么选?

在当今日益繁荣的外卖市场中,外卖霸王餐作为一种独特的营销策略,受到了众多商家的青睐。然而,要想成功实施外卖霸王餐活动,一个安全、稳定且高效的架构选择至关重要。本文将深入探讨外卖霸王餐架构的选择,以期为商家提…

AI绘画进阶工具 ComfyUI 新版来啦!操作界面详解!取消悬浮面板,自带工作流管理功能!(附安装包)

大家好,我是画画的小强 在 7 月初的一次更新中,ComfyUI 官方推出了 Beta 版 UI,取消了原本的悬浮面板,还新增了工作流管理功能,整体使用体验比之前好了很多。今天就为大家详细介绍一些新版 UI 的特点和用法。 一、启…

pdf2image:将PDF文档转化为图像的Python魔法

标题:探索pdf2image:将PDF文档转化为图 像的Python魔法 背景 在数字时代,我们经常需要处理各种格式的文档,尤其是PDF文件。PDF以其跨平台的可读性和稳定性而广受欢迎。然而,有时我们需要将PDF文件转换成图像格式&am…

springboot3-web-questions-分析

系列文章目录 文章目录 目录 系列文章目录 文章目录 前言 一、问题案例 1、maven项目compile时候出现告警warn 2、java文件打包然后在命令行中运行java会找不到主类 3、程序找不到数据库驱动和配置实例 4、springboot和mybatis-plus版本不兼容导致 5、springboot项目启动的解释…

21、Python之面向对象:一切皆对象,可你真的需要面向对象吗

引言 面向对象(Object-Oriented Programming, OOP)和面向过程(Procedural Programming)是两种不同的编程范式。不能因为我们接下来要进入“面向对象”的模块的学习,就武断地说,面向对象一定比面向过程好。…

若依 ruoyi poi Excel合并行的导入

本文仅针对文字相关的合并做了处理 ,图片合并及保存需要另做处理!! 目标:Excel合并行内容的导入 结果: 1. ExcelUtil.java 类,新增方法:判断是否是合并行 /*** 新增 合并行相关代码:…

【MySQL篇】Percona XtraBackup标准化全库完整备份策略(第三篇,总共五篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

计网_数据通信基础知识

2024.07.05:计算机网络数据通信基础知识学习笔记 第2节 数据通信基础知识 2.1 物理层特性(学会区分)2.2 信道相关的基本概念2.2.1 数字信号的(基带调制)(1)不归零NRZ编码(2&#xff…

1207. 有趣的数字图形IV

问题描述 输入一个整数 𝑛 ( 𝑛≤12 ),打印出如下要求的方阵: 除掉右上到左下对角线上的数外的右下半个区域中每个元素等于左边的和上面的元素之和。每个元素场宽为 5 。左上半个区域为空。 输入 一个整…

C语言------指针讲解(3)

一、字符指针 在指针中,我们知道有一类指针类型为字符指针char*; int main() {char ch w;char* pc &ch;*pc w;return 0; } 还有一种使用方式如下: 上述代码中,本质是把hello的首字符的地址放到了pstr中。即把一个常量字符串的首字符…

C++图书管理系统

目录 实现功能 用户管理 图书管理 借阅与归还 未归还图书 部分效果图 结构体 Book 结构体 User 结构体 源代码 编译时在连接器命令行加入 完整代码 实现功能 用户管理 添加用户:输入用户ID、用户名和密码…

【LeetCode】71.简化路径

1. 题目 2. 分析 3. 代码 我写了一版很复杂的代码&#xff1a; class Solution:def simplifyPath(self, path: str) -> str:operator [] # 操作符的栈dir_name [] # 文件名的栈idx 0cur_dir_name ""while(idx < len(path)):if path[idx] /:operator.ap…

AI绘画入门实践|Midjourney:使用 --seed 制作情侣头像与漫画

在 Midjourney 中&#xff0c;seed 是指一个种子&#xff0c;用于生成图像时的起点或基础。 使用格式&#xff1a;--seed 获取的seed值 获取 seed 值 使用 seed 生成图像 a cute boys avatar, background with blue sky and white cloud, Ghibli Studio style, Hayao Miyazaki…

智能爬虫管理:定制化数据抓取方案为企业赋能

摘要&#xff1a; 在数据驱动的时代&#xff0c;精准而高效的数据抓取成为企业决策的命脉。本文将探讨如何通过定制化的智能爬虫管理方案&#xff0c;赋能企业实现数据洞察力的飞跃。我们将深入解析定制化数据抓取的核心优势&#xff0c;分享成功案例&#xff0c;并揭秘如何利…