Есть ли способ в .NET получить идентификатор процесса (или только Process
) программы, выполняющей вызов?.NET получить идентификатор процесса моего приложения в C#
Process.GetCurrentProcess()
получает Process
, который в настоящее время активен, то есть тот, который пользователь использует прямо сейчас. Мне нужно Process
моего собственного приложения, которое, вероятно, неактивно в то время, когда я его вызываю.
Я мог бы позвонить GetCurrentProcess()
по адресу Window.Activated
и сохранить его в закрытом поле, но нет абсолютной гарантии (я считаю), что это событие когда-нибудь будет срабатывать, если приложение откроется в фоновом режиме.
Это тот же вызов, что и объект .NET Process? То есть .NET-процесс Process.GetCurrentProcess() - просто оболочка этого COM-сервера? Я использовал Process.GetCurrentProcess(), чтобы разрешить мне активировать свое приложение, а затем немедленно активировать активную. – dfoverdx
Извините, неверная ссылка - исправлена. Я цитирую MSDN в Process.GetCurrentProcess. – Blorgbeard
Но да, нативный вызов делает то же самое. – Blorgbeard