Process.MainWindowTitle Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает заголовок главного окна процесса.
public:
property System::String ^ MainWindowTitle { System::String ^ get(); };
public string MainWindowTitle { get; }
member this.MainWindowTitle : string
Public ReadOnly Property MainWindowTitle As String
Значение свойства
Заголовок главного окна процесса.
Исключения
MainWindowTitle Свойство не определено, так как процесс завершился.
Вы пытаетесь получить доступ к свойству MainWindowTitle для процесса, работающего на удаленном компьютере. Это свойство доступно только для процессов, выполняемых на локальном компьютере.
Примеры
В следующем примере запускается экземпляр Блокнота и извлекается заголовок главного окна процесса.
using System;
using System.Diagnostics;
class MainWindowTitleClass
{
public static void Main()
{
try
{
// Create an instance of process component.
using (Process myProcess = new Process())
{
// Create an instance of 'myProcessStartInfo'.
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo();
myProcessStartInfo.FileName = "notepad";
myProcess.StartInfo = myProcessStartInfo;
// Start process.
myProcess.Start();
// Allow the process to finish starting.
myProcess.WaitForInputIdle();
Console.Write("Main window Title : " + myProcess.MainWindowTitle);
myProcess.CloseMainWindow();
}
}
catch (Exception e)
{
Console.Write($" Message : {e.Message}");
}
}
}
open System.Diagnostics
try
// Create an instance of process component.
use myProcess = new Process()
// Create an instance of 'myProcessStartInfo'.
let myProcessStartInfo = ProcessStartInfo()
myProcessStartInfo.FileName <- "notepad"
myProcess.StartInfo <- myProcessStartInfo
// Start process.
myProcess.Start() |> ignore
// Allow the process to finish starting.
myProcess.WaitForInputIdle() |> ignore
printfn $"Main window Title : {myProcess.MainWindowTitle}"
myProcess.CloseMainWindow() |> ignore
with e ->
printfn $" Message : {e.Message}"
Imports System.Diagnostics
Class MainWindowTitleClass
Public Shared Sub Main()
Try
' Create an instance of process component.
Using myProcess As New Process()
' Create an instance of 'myProcessStartInfo'.
Dim myProcessStartInfo As New ProcessStartInfo()
myProcessStartInfo.FileName = "notepad"
myProcess.StartInfo = myProcessStartInfo
' Start process.
myProcess.Start()
' Allow the process to finish starting.
myProcess.WaitForInputIdle()
Console.Write("Main window Title : " + myProcess.MainWindowTitle)
myProcess.CloseMainWindow()
End Using
Catch e As Exception
Console.Write($" Message : {e.Message}")
End Try
End Sub
End Class
Комментарии
Процесс имеет главное окно, связанное с ним, только если процесс имеет графический интерфейс. Если связанный процесс не имеет главного окна (так что MainWindowHandle это равно нулю), или если система не может определить, что в главном окне (например, на некоторых платформах Unix) MainWindowTitle имеется пустая строка ("").
Если вы только что запустили процесс и хотите использовать его название главного окна, рассмотрите возможность использования WaitForInputIdle метода, чтобы завершить процесс, гарантируя создание дескриптора главного окна. В противном случае система создает исключение.
Note
Главное окно — это окно, которое в настоящее время имеет фокус; Обратите внимание, что это не может быть основным окном для процесса. Чтобы обновить объект, необходимо использовать Refresh метод, чтобы Process получить самый актуальный дескриптор главного окна, если он изменился.