Exportar (0) Imprimir
Expandir todo

ProcessStartInfo.Verbs (Propiedad)

Actualización: noviembre 2007

Obtiene el conjunto de verbos asociado al tipo de archivo especificado en la propiedad FileName.

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

[BrowsableAttribute(false)]
public string[] Verbs { get; }
/** @property */
/** @attribute BrowsableAttribute(false) */
public String[] get_Verbs()

public function get Verbs () : String[]

Valor de propiedad

Tipo: System.String[]
Acciones que el sistema puede aplicar al archivo indicado mediante la propiedad FileName.

La propiedad Verbs permite determinar los verbos que se pueden utilizar con el archivo especificado por la propiedad FileName. Puede establecer la propiedad Verb en el valor de cualquier verbo en el conjunto. Los ejemplos de verbos son " Edit", " Open", "OpenAsReadOnly", " Print " y "Printto".

Cuando se utiliza la propiedad Verbs se debe incluir la extensión de archivo al establecer el valor de la propiedad FileName. La extensión de archivo determina el conjunto de posibles verbos.

En el ejemplo de código siguiente se muestran los verbos definidos para el nombre de archivo seleccionado. Si el usuario selecciona uno de los verbos definidos, se inicia un nuevo proceso mediante el verbo seleccionado y el nombre del archivo de entrada.


using System;
using System.IO;
using System.Diagnostics;
using System.Text;
using System.Windows.Forms;

class ProcessInformation
{
    [STAThread]
    static void Main(string[] args)
    {
        string fileName = "";
        string arguments = "";
        string verbToUse = "";
        int i = 0;
        ProcessStartInfo startInfo = new ProcessStartInfo();
        OpenFileDialog openFileDialog1 = new OpenFileDialog();

        openFileDialog1.InitialDirectory = "c:\\";
        openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
        openFileDialog1.FilterIndex = 2;
        openFileDialog1.RestoreDirectory = true;

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            if ((fileName = openFileDialog1.FileName) != null)
            {
                startInfo = new ProcessStartInfo(fileName);

                if (File.Exists(fileName))
                {
                    i = 0;
                    foreach (String verb in startInfo.Verbs)
                    {
                        // Display the possible verbs.
                        Console.WriteLine("  {0}. {1}", i.ToString(), verb);
                        i++;
                    }
                }
            }

            Console.WriteLine("Select the index of the verb.");
            string index = Console.ReadLine();
            if (Convert.ToInt32(index) < i)
                verbToUse = startInfo.Verbs[Convert.ToInt32(index)];
            else
                return;
            startInfo.Verb = verbToUse;
            if (verbToUse.ToLower().IndexOf("printto") >= 0)
            {
                // printto implies a specific printer.  Ask for the network address.
                // The address must be in the form \\server\printer.
                // The printer address is passed as the Arguments property.
                Console.WriteLine("Enter the network address of the target printer:");
                arguments = Console.ReadLine();
                startInfo.Arguments = arguments;
            }

            Process newProcess = new Process();
            newProcess.StartInfo = startInfo;

            try
            {
                newProcess.Start();

                Console.WriteLine(
                    "{0} for file {1} started successfully with verb \"{2}\"!",
                    newProcess.ProcessName, fileName, startInfo.Verb);
            }
            catch (System.ComponentModel.Win32Exception e)
            {
                Console.WriteLine("  Win32Exception caught!");
                Console.WriteLine("  Win32 error = {0}",
                    e.Message);
            }
            catch (System.InvalidOperationException)
            {
                // Catch this exception if the process exits quickly, 
                // and the properties are not accessible.
                Console.WriteLine("File {0} started with verb {1}",
                    fileName, verbToUse);
            }
        }
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft