python获取windows机子上运行的程序名称

简介: python获取windows机子上运行的程序名称

要获取Windows机子上当前正在运行的程序名称,你可以使用Python的win32process和win32api模块(这些是pywin32扩展的一部分)。但是,请注意,你需要先安装pywin32模块。

下面是一个简单的示例,展示了如何使用这些模块来获取正在运行的进程列表和它们的名称:

首先,确保你已经安装了pywin32模块。如果没有,你可以使用pip来安装:

bash复制代码
 pip install pywin32


使用以下Python脚本来获取正在运行的进程列表:

python复制代码
 import win32process  
 
 import win32api  
 
 import win32con  
 
   
 
 def get_running_processes():  
 
     processes = []  
 
       
 
     # 枚举所有进程  
 
     handle, entry, usage = win32process.EnumProcesses()  
 
       
 
     for proc in entry:  
 
         try:  
 
             # 打开进程  
 
             process_handle = win32api.OpenProcess(win32con.PROCESS_QUERY_INFORMATION | win32con.PROCESS_VM_READ, False, proc)  
 
               
 
             # 获取进程名  
 
             process_id, thread_id, module_name, module_base_addr = win32process.EnumProcessModules(process_handle, win32con.MAX_PATH, win32con.LIST_MODULES_32BIT)  
 
               
 
             # 使用GetModuleFileNameEx来获取完整的进程路径  
 
             filename = win32process.GetModuleFileNameEx(process_handle, module_base_addr)  
 
               
 
             # 你可能只想获取进程名,而不是完整的路径,所以这里我们使用splitpath来获取它  
 
             process_name = win32api.GetFileName(filename)  
 
               
 
             processes.append(process_name)  
 
               
 
             # 关闭进程句柄  
 
             win32api.CloseHandle(process_handle)  
 
         except:  
 
             pass  # 忽略任何错误,继续下一个进程  
 
       
 
     return processes  
 
   
 
 # 获取进程列表并打印  
 
 print(get_running_processes())

注意:这个脚本会尝试获取所有正在运行的进程的名称,但由于权限问题或某些其他原因,某些进程可能无法被访问。对于这些进程,脚本会简单地忽略错误并继续。此外,由于进程可能在脚本执行期间启动或停止,所以返回的列表可能并不完全准确。

另外,请注意,脚本中使用的win32con.LIST_MODULES_32BIT标志可能不适用于64位进程。如果你需要处理64位进程,你可能需要使用win32con.LIST_MODULES_64BIT或根据目标系统的架构进行条件检查。但是,在大多数情况下,使用win32con.LIST_MODULES_32BIT就足够了,因为大多数现代Windows系统都支持WOW64(Windows on Windows 64-bit),这使得32位进程可以在64位系统上运行。


相关文章
|
15天前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
59 28
|
1月前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
75 6
|
1月前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
28天前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序
|
2月前
|
存储 人工智能 数据挖掘
Python编程入门:打造你的第一个程序
本文旨在为初学者提供Python编程的初步指导,通过介绍Python语言的基础概念、开发环境的搭建以及一个简单的代码示例,帮助读者快速入门。文章将引导你理解编程思维,学会如何编写、运行和调试Python代码,从而开启编程之旅。
59 2
|
2月前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
70 5
|
2月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
62 1
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。