C# 显示正在运行的应用程序(alt选项卡程序列表)
在此处找到解决方案:C# 显示正在运行的应用程序(alt选项卡程序列表),c#,process,alt-tab,processlist,C#,Process,Alt Tab,Processlist,在此处找到解决方案: 我正在尝试查看正在运行的应用程序列表,我在几个论坛上发现了此解决方案: Process[] processes = Process.GetProcesses(); foreach (var proc in processes) { if (!string.IsNullOrEmpty(proc.MainWindowTitle)) Console.WriteLine(proc.MainWindowTitle); } 除了这不是给我相同的列表,当你按
我正在尝试查看正在运行的应用程序列表,我在几个论坛上发现了此解决方案:
Process[] processes = Process.GetProcesses();
foreach (var proc in processes)
{
if (!string.IsNullOrEmpty(proc.MainWindowTitle))
Console.WriteLine(proc.MainWindowTitle);
}
除了这不是给我相同的列表,当你按下alt键。例如:firefox、explorer和iexplore都返回空/空的MainWindowTitle。是否有其他方法访问此列表?也许通过windowsAPI
我正在使用Windows7 32位
感谢您的高级支持。Windows上没有隐藏的进程。只有您没有(安全)权限查看的进程 请查看以下内容:
Windows上没有隐藏的进程。只有您没有(安全)权限查看的进程 请查看以下内容: 试试这个(取自),但我不确定它是否能解决您的问题:
static void Main(string[] args)
{
GetProcesses();
GetApplications();
Console.Read();
}
public static void GetProcesses()
{
StringBuilder sb = new StringBuilder();
ManagementClass MgmtClass = new ManagementClass("Win32_Process");
foreach (ManagementObject mo in MgmtClass.GetInstances())
Console.WriteLine("Name:" + mo["Name"] + "ID:" + mo["ProcessId"]);
Console.WriteLine();
}
public static void GetApplications()
{
StringBuilder sb = new StringBuilder();
foreach (Process p in Process.GetProcesses("."))
try
{
if (p.MainWindowTitle.Length > 0)
{
Console.WriteLine("Window Title:" + p.MainWindowTitle.ToString());
Console.WriteLine("Process Name:" + p.ProcessName.ToString());
Console.WriteLine("Window Handle:" + p.MainWindowHandle.ToString());
Console.WriteLine("Memory Allocation:" + p.PrivateMemorySize64.ToString());
}
}
catch { }
}
试试这个(取自),但我不确定它是否能解决您的问题:
static void Main(string[] args)
{
GetProcesses();
GetApplications();
Console.Read();
}
public static void GetProcesses()
{
StringBuilder sb = new StringBuilder();
ManagementClass MgmtClass = new ManagementClass("Win32_Process");
foreach (ManagementObject mo in MgmtClass.GetInstances())
Console.WriteLine("Name:" + mo["Name"] + "ID:" + mo["ProcessId"]);
Console.WriteLine();
}
public static void GetApplications()
{
StringBuilder sb = new StringBuilder();
foreach (Process p in Process.GetProcesses("."))
try
{
if (p.MainWindowTitle.Length > 0)
{
Console.WriteLine("Window Title:" + p.MainWindowTitle.ToString());
Console.WriteLine("Process Name:" + p.ProcessName.ToString());
Console.WriteLine("Window Handle:" + p.MainWindowHandle.ToString());
Console.WriteLine("Memory Allocation:" + p.PrivateMemorySize64.ToString());
}
}
catch { }
}
这可能有助于您了解可能的副本,也可以查看引用Raymond Chen的博客条目的副本,其中提供了详细信息。它可能会帮助您查看的可能副本,其中引用了Raymond Chen的博客条目,提供了详细信息。我可以查看所有进程,但无法检索mainwindowtitle。我可以查看所有进程,但无法检索mainwindowtitle。谢谢,但这并不能解决我的问题。我看到了所有的进程,但是getapplications函数只给了我一个正在运行的程序(它自己的进程)。谢谢,但它并不能解决我的问题。我看到了所有的进程,但是getapplications函数只给我一个正在运行的程序(它自己的进程)。