You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中获取Microsoft 365的所有相关进程?

获取指定Microsoft 365进程的C#实现

要只获取你需要的8个Microsoft 365相关进程,核心思路是先明确目标进程的名称,再从所有进程中过滤出匹配项。

步骤说明

  1. 确定Microsoft 365各组件对应的进程名(不含.exe后缀),常见的8个进程名如下:

    • WINWORD(Word)
    • EXCEL(Excel)
    • OUTLOOK(Outlook)
    • POWERPNT(PowerPoint)
    • ONENOTE(OneNote)
    • MSACCESS(Access)
    • VISIO(Visio)
    • PROJECT(Project)
  2. 使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 02:57:09