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

news2024/9/22 7:31:13

需求

  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 version
    except Exception as e:
        print(f"无法获取版本信息: {e}")
        return None

def 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 True
    print(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 True
    except 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.coloradmin.cn/o/1950933.html

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

相关文章

基于单片机控制的气动机械手设计

摘 要: 机械手拥有灵活的运动结构,可以在控制系统控制下完成复杂的运动,从而实现高效率的自动化生产方式,因而成为发展工业生产技术的重要方向。气动技术和单片机技术已相当成熟,工业应用广泛,该文将基于单…

使用 useRequestURL 组合函数访问请求URL

title: 使用 useRequestURL 组合函数访问请求URL date: 2024/7/26 updated: 2024/7/26 author: cmdragon excerpt: 摘要:本文介绍了Nuxt 3中的useRequestURL组合函数,用于在服务器端和客户端环境中获取当前页面的URL信息。通过示例展示了如何在页面中…

html+css 实现水波纹按钮

前言:哈喽,大家好,今天给大家分享htmlcss 绚丽效果!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 文…

Vue 3 实现左侧列表点击跳转滚动到右侧对应区域的功能

使用 Vue 3 实现左侧列表点击跳转到右侧对应区域的功能 1. 引言 在这篇博客中,我们将展示如何使用 Vue 3 实现一个简单的页面布局,其中左侧是一个列表,点击列表项时,右侧会平滑滚动到对应的内容区域。这种布局在很多应用场景中都…

云计算实训15——shell脚本、变量、自动化安装脚本、条件判断、循环

一、shell 脚本 1.基本概念 shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件 中,进行处理业务逻辑,脚本不用编译即可运行,它从一定程度上减轻 了工作量,提高了工作效率,还可以批量、定…

云服务部署项目(Spring + Vue)

云计算:腾讯云 操作系统:Ubuntu 22.04.4 LTS 项目:若依前后端分离项目(SpringBoot Vue) 首先要安装基本的一些依赖环境,大家可以看一下我往期的文章: Ubuntu在线JDK Ubuntu在线安装Nginx Ubunt…

Debain安装PostgreSql

目录 Debian和Centos区别 安装PostgreSql 更新包索引: 安装 PostgreSQL: 配置自动启动和启用 PostgreSQL 服务: 配置postGreSql 切换到 PostgreSQL 用户: 访问 PostgreSQL Shell: 设置密码 退出 PostgreSQL …

【C++题解】1066. 字符图形2-星号直角

问题&#xff1a;1066. 字符图形2-星号直角 类型&#xff1a;嵌套循环、图形输出 题目描述&#xff1a; 打印字符图形。 输入&#xff1a; 一个整数&#xff08; 0<n<10 &#xff09;。 输出&#xff1a; 一个字符图形。 样例&#xff1a; 输入&#xff1a; 3输…

集成显卡和独立显卡有什么区别?

显卡&#xff08;Video card&#xff0c;Graphics card&#xff09;全称显示接口卡&#xff0c;又称显示适配器&#xff0c;是计算机最基本配置、最重要的配件之一。平时大家可能都听过集显和独显&#xff0c;那么这两个显卡类别都是什么意思呢&#xff1f; 集成显卡 集成显卡…

Unity UGUI 之 坐标转换

本文仅作学习笔记与交流&#xff0c;不作任何商业用途 本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正 本文在发布时间选用unity 2022.3.8稳定版本&#xff0c;请注意分别 前置知识&#xff1a;…

混凝土做的风机?风领新能源推出钢-超高性能混凝土体内预应力塔筒

随着全球能源结构的转型和技术的不断进步&#xff0c;陆上风电行业已正式迈入平价时代。这一里程碑式的转变不仅降低了风电项目的投资门槛&#xff0c;更激发了行业对于机组大型化的热情与追求。在这样的市场下&#xff0c;主流风机制造商纷纷推出10MW平台级别机组&#xff0c;…

VLAN通讯实验

目录 拓扑图 需求 需求分析 配置过程 1、手工配置 2、 使用DHCP获得IP地址信息 3、测试全网是否可达 拓扑图 需求 1、PC1、PC3属于VLAN 2 2、PC2、PC4属于VLAN 3 3、通过DHCP使得PC获取IP地址信息 4、全网可达 需求分析 1、先手工配置网段&#xff0c;VLAN 2为192.168.1…

杭州东网约车管理再出行方面取得的显著成效

随着科技的飞速发展&#xff0c;网约车已成为人们日常出行的重要选择。在杭州这座美丽的城市&#xff0c;网约车服务更是如雨后春笋般蓬勃发展。特别是杭州东站&#xff0c;作为杭州的重要交通枢纽&#xff0c;网约车管理显得尤为重要。近日&#xff0c;沧穹科技郑重宣告已助力…

【iOS】 消息传递和消息转发

消息传递和消息转发 objc_msgSend执行流程消息发送动态方法解析消息转发super面试题 objc_msgSend执行流程 OC中的方法调用&#xff0c;其实都是转化为objc_msgSend函数调用&#xff0c;objc_msgSend的执行流程可以分为3大阶段 消息发送 动态方法解析 消息转发 消息发送 消…

情绪稳定的人有什么特点?

第一部分&#xff1a;至纯之人&#xff0c;大器晚成 1.1 单纯&#xff0c;不是天真 你知道吗&#xff1f;那些能够成就大事的人&#xff0c;往往在人性上非常单纯。他们对外界的需求很低&#xff0c;更多的是向内寻求。这样的人&#xff0c;他们的内心世界像一片净土&#xff…

Internet Download Manager(IDM)6.43免费试用体验版下载

1. Internet Download Manager&#xff08;IDM&#xff09;是一款功能强大的下载管理器&#xff0c;能够将下载速度提高多达5倍。 2. IDM具备多线程下载、断点续传、自动捕获链接等特性。 IDM马丁正版下载如下: https://wm.makeding.com/iclk/?zoneid34275 idm最新绿色版一…

HarmonyOS 核心功能:一多特性

简述定义和目标&#xff0c;分述界面级&#xff08;核心&#xff09;、功能级、工程级的一多开发 定义&#xff1a; 一套代码&#xff0c;一次开发&#xff0c;多端按需部署 目标&#xff1a;支持开发者快速开发多设备上的应用 一 界面级一多开发&#xff08;重点&#xf…

宝塔单ip,新建多站点

报错如上&#xff1a; 那么如何新建多站点呢 先随便写个名字上去&#xff0c;然后再重新绑定别的端口… 这个时候访问99端口即可 。 如果是有域名&#xff0c;则不需要这样做 、直接80端口也可以多站点

FPGA:有限状态机

从以下6个实验理解状态机的概念 开发板频率为 50 M H z 50MHz 50MHz&#xff0c;一个时钟周期是 20 n s 20ns 20ns。 1、实验一:LED灯亮0.25秒、灭0.75秒的状态循环 通过之前的分析&#xff0c;我们实现频闪灯时&#xff0c;是让led灯在0.5秒实现一次翻转&#xff0c;而这里…

《Cross-Modal Dynamic Transfer Learning for Multimodal Emotion Recognition》

Multi-modal系列论文研读目录 文章目录 Multi-modal系列论文研读目录1.ABSTRACT2.INDEX TERMS3.INTRODUCTION4.RELATED WORKSA. MULTIMODAL EMOTION RECOGNITION 多模态情感识别1) CONVENTIONAL FUSION METHODS 常规融合方法2) TRANSFORMER-BASED FUSION METHODS 基于变压器的融…