Exportar (0) Imprimir
Expandir todo
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Process.Responding (Propiedad)

Obtiene un valor que indica si la interfaz de usuario del proceso está respondiendo.

Espacio de nombres:  System.Diagnostics
Ensamblado:  System (en System.dll)

public bool Responding { get; }

Valor de propiedad

Tipo: System.Boolean
Es true si la interfaz de usuario del proceso asociado está respondiendo al sistema; de lo contrario, es false.

ExcepciónCondición
PlatformNotSupportedException

La plataforma es Windows 98 o Windows Millennium (Windows Me); establezca el valor de ProcessStartInfo.UseShellExecute en false para tener acceso a esta propiedad en Windows 98 y Windows Me.

InvalidOperationException

No hay ningún proceso asociado a este objeto Process.

NotSupportedException

Se está intentando obtener acceso a la propiedad Responding de un proceso que se está ejecutando en un equipo remoto. Esta propiedad sólo está disponible para los procesos que se ejecutan en el equipo local.

Si un proceso tiene una interfaz de usuario, la propiedad Responding establece contacto con dicha interfaz para determinar si el proceso está respondiendo a los datos proporcionados por el usuario. Si la interfaz no responde inmediatamente, la propiedad Responding devuelve false. Utilice esta propiedad para determinar si la interfaz del proceso asociado ha dejado de responder.

Si el proceso no tiene MainWindowHandle, esta propiedad devuelve true.

Nota de la plataforma : Esta propiedad no se encuentra disponible en esta plataforma si el proceso se ha iniciado con la propiedad ProcessStartInfo.UseShellExecute establecida en true.

En el siguiente ejemplo se inicia una instancia del Bloc de notas. A continuación, se recuperan y se muestran diversas propiedades del proceso asociado. También se detecta cuándo termina el proceso y se muestra el código de salida del proceso.


using System;
using System.Diagnostics;

namespace ProcessSample
{
    class ProcessMonitorSample
    {
        public static void Main()
        {

            // Define variables to track the peak
            // memory usage of the process.
            long peakPagedMem = 0,
                peakWorkingSet = 0,
                peakVirtualMem = 0;

            Process myProcess = null;

            try
            {
                // Start the process.
                myProcess = Process.Start("NotePad.exe");

                // Display the process statistics until
                // the user closes the program.
                do
                {
                    if (!myProcess.HasExited)
                    {
                        // Refresh the current process property values.
                        myProcess.Refresh();

                        Console.WriteLine();

                        // Display current process statistics.

                        Console.WriteLine("{0} -", myProcess.ToString());
                        Console.WriteLine("-------------------------------------");

                        Console.WriteLine("  physical memory usage: {0}",
                            myProcess.WorkingSet64);
                        Console.WriteLine("  base priority: {0}",
                            myProcess.BasePriority);
                        Console.WriteLine("  priority class: {0}",
                            myProcess.PriorityClass);
                        Console.WriteLine("  user processor time: {0}",
                            myProcess.UserProcessorTime);
                        Console.WriteLine("  privileged processor time: {0}",
                            myProcess.PrivilegedProcessorTime);
                        Console.WriteLine("  total processor time: {0}",
                            myProcess.TotalProcessorTime);
                        Console.WriteLine("  PagedSystemMemorySize64: {0}",
                            myProcess.PagedSystemMemorySize64);
                        Console.WriteLine("  PagedMemorySize64: {0}",
                           myProcess.PagedMemorySize64);

                        // Update the values for the overall peak memory statistics.
                        peakPagedMem = myProcess.PeakPagedMemorySize64;
                        peakVirtualMem = myProcess.PeakVirtualMemorySize64;
                        peakWorkingSet = myProcess.PeakWorkingSet64;

                        if (myProcess.Responding)
                        {
                            Console.WriteLine("Status = Running");
                        }
                        else
                        {
                            Console.WriteLine("Status = Not Responding");
                        }
                    }
                }
                while (!myProcess.WaitForExit(1000));


                Console.WriteLine();
                Console.WriteLine("Process exit code: {0}",
                    myProcess.ExitCode);

                // Display peak memory statistics for the process.
                Console.WriteLine("Peak physical memory usage of the process: {0}",
                    peakWorkingSet);
                Console.WriteLine("Peak paged memory usage of the process: {0}",
                    peakPagedMem);
                Console.WriteLine("Peak virtual memory usage of the process: {0}",
                    peakVirtualMem);

            }
            finally
            {
                if (myProcess != null)
                {
                    myProcess.Close();
                }
            }
        }

    }
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

  • LinkDemand 

    para que haya plena confianza para el llamador inmediato. Este miembro no puede ser utilizado por código de confianza parcial.

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft