Process.MainWindowTitle Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém a legenda da janela principal do processo.
public:
property System::String ^ MainWindowTitle { System::String ^ get(); };
public string MainWindowTitle { get; }
member this.MainWindowTitle : string
Public ReadOnly Property MainWindowTitle As String
Valor da propriedade
O título da janela principal do processo.
Exceções
A propriedade MainWindowTitle não foi definida, porque o processo foi encerrado.
Você está tentando acessar a propriedade MainWindowTitle para um processo que está sendo executado em um computador remoto. Essa propriedade está disponível somente para processos em execução no computador local.
Exemplos
O exemplo a seguir inicia uma instância do Bloco de Notas e recupera o legenda da janela main do processo.
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
int main()
{
try
{
// Create an instance of process component.
Process^ myProcess = gcnew Process;
// Create an instance of 'myProcessStartInfo'.
ProcessStartInfo^ myProcessStartInfo = gcnew ProcessStartInfo;
myProcessStartInfo->FileName = "notepad";
myProcess->StartInfo = myProcessStartInfo;
// Start process.
myProcess->Start();
// Allow the process to finish starting.
myProcess->WaitForInputIdle();
Console::Write( "Main window Title : {0}", myProcess->MainWindowTitle );
myProcess->CloseMainWindow();
myProcess->Close();
}
catch ( Exception^ e )
{
Console::Write( " Message : {0}", e->Message );
}
}
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}");
}
}
}
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
Comentários
Um processo tem uma janela main associada a ele somente se o processo tiver uma interface gráfica. Se o processo associado não tiver uma janela main (de modo que MainWindowHandle seja zero) ou se o sistema não puder determinar se há uma janela main (como pode ser o caso em algumas plataformas Unix), MainWindowTitle será uma cadeia de caracteres vazia ("").
Se você acabou de iniciar um processo e quiser usar seu título de janela main, considere usar o WaitForInputIdle método para permitir que o processo seja iniciado, garantindo que o identificador de janela main tenha sido criado. Caso contrário, o sistema gera uma exceção.
Observação
A janela main é a janela que atualmente tem o foco; observe que essa pode não ser a janela primária para o processo. Você deve usar o Refresh método para atualizar o Process objeto para obter o identificador de janela mais atualizado main se ele tiver sido alterado.