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

为何C# WinForms应用无法被Process.GetProcesses()检测到?

问题原因分析

你的应用CustomizeWin10未被检测到,主要有以下几种可能:

  • 过滤条件限制:你代码里只输出MainWindowTitle.Length > 0的进程。如果CustomizeWin10是后台进程、没有主窗口,或者主窗口标题为空字符串,就会被这个条件过滤掉。去掉该判断后,就能遍历到所有进程。
  • 进程名称差异:任务管理器显示的可能是应用友好名称,而Process.ProcessName返回的是进程可执行文件名(不带.exe后缀)。你可以去掉过滤后打印所有进程名,对比找到CustomizeWin10对应的实际进程名。
  • 权限问题:如果CustomizeWin10以管理员权限运行,而你的检测程序是普通权限启动,可能无法获取该进程的主窗口标题信息,但进程本身仍会出现在Process.GetProcesses()结果中,只是MainWindowTitle为空,同样被你的过滤条件排除。
验证方法

修改代码去掉主窗口标题过滤,直接打印所有进程名:

Process[] localAll = Process.GetProcesses();
foreach (var app in localAll)
{
    Console.WriteLine(app.ProcessName);
}

执行后就能看到所有进程,包括你的CustomizeWin10。

内容的提问来源于stack exchange,提问作者Art Hansen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 21:03:08