如何在C#中获取Microsoft 365的所有相关进程?
获取指定Microsoft 365进程的C#实现
要只获取你需要的8个Microsoft 365相关进程,核心思路是先明确目标进程的名称,再从所有进程中过滤出匹配项。
步骤说明
确定Microsoft 365各组件对应的进程名(不含
.exe后缀),常见的8个进程名如下:- WINWORD(Word)
- EXCEL(Excel)
- OUTLOOK(Outlook)
- POWERPNT(PowerPoint)
- ONENOTE(OneNote)
- MSACCESS(Access)
- VISIO(Visio)
- PROJECT(Project)
使用
Process.GetProcesses()获取系统所有进程,再通过LINQ过滤出名称匹配的进程,同时忽略大小写避免漏判。
完整代码示例
using System; using System.Diagnostics; using System.Linq; class M365ProcessCollector { static void Main() { // 定义目标Microsoft 365进程名称集合 var targetProcessNames = new[] { "WINWORD", "EXCEL", "OUTLOOK", "POWERPNT", "ONENOTE", "MSACCESS", "VISIO", "PROJECT" }; // 过滤并获取目标进程 var m365Processes = Process.GetProcesses() .Where(process => targetProcessNames.Contains( process.ProcessName, StringComparer.OrdinalIgnoreCase)) .ToList(); // 输出进程信息(可根据需求调整输出内容) foreach (var proc in m365Processes) { Console.WriteLine($"进程名: {proc.ProcessName} | PID: {proc.Id} | 启动时间: {proc.StartTime:yyyy-MM-dd HH:mm:ss}"); } } }
注意事项
- 如果你的目标进程和上述8个有差异,直接修改
targetProcessNames数组即可。 - 若需要获取进程的更多信息(如内存占用、主窗口标题),可以直接访问
Process类的对应属性(如WorkingSet64、MainWindowTitle)。
内容的提问来源于stack exchange,提问作者ATAO
相关产品推荐
相关产品推荐

