Для начала определимся с терминами в данном контексте, на примере браузера Google Chrome.
Имя процесса: chrome.exe
Имя приложения: Google Chrome (32 bit)
Мне нужно узнать именно имя приложения, так как оно почти всегда отличается.
Ответ
Возьмите за основу этот пример:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.Diagnostics;
using System.Management.Instrumentation;
namespace getAllProcessID
{
class Program
{
static void Main(string[] args)
{
var myID = Process.GetCurrentProcess();
var query = string.Format("SELECT ParentProcessId FROM Win32_Process");// WHERE ProcessId = {0}", myID);
var search = new ManagementObjectSearcher("root\\CIMV2", query);
var results = search.Get().GetEnumerator();
if (!results.MoveNext())
throw new Exception("Huh?");
var queryObj = results.Current;
uint parentId = (uint)queryObj["ParentProcessId"];
foreach (Process p in Process.GetProcesses())
{
if (p.MainWindowTitle.Length > 0)
{
Console.WriteLine(p.MainWindowTitle.ToString());
Console.WriteLine(p.ProcessName.ToString());
Console.WriteLine(p.MainWindowHandle.ToString());
Console.WriteLine(p.PrivateMemorySize64.ToString());
}
}
Console.ReadLine();
}
}
}
Комментариев нет:
Отправить комментарий