当前位置: 首页>>代码示例>>C#>>正文


C# ProcessStartInfo.Verbs属性代码示例

本文整理汇总了C#中System.Diagnostics.ProcessStartInfo.Verbs属性的典型用法代码示例。如果您正苦于以下问题:C# ProcessStartInfo.Verbs属性的具体用法?C# ProcessStartInfo.Verbs怎么用?C# ProcessStartInfo.Verbs使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在System.Diagnostics.ProcessStartInfo的用法示例。


在下文中一共展示了ProcessStartInfo.Verbs属性的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Main

//引入命名空间
using System;
using System.ComponentModel;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms;

class ProcessInformation
{
    [STAThread]
    static void Main()
    {
        OpenFileDialog openFileDialog1 = new OpenFileDialog();

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

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            var fileName = openFileDialog1.FileName;

            int i = 0;
            var startInfo = new ProcessStartInfo(fileName);

            // Display the possible verbs.
            foreach (var verb in startInfo.Verbs)
            {
                Console.WriteLine($"  {i++}. {verb}");
            }

            Console.Write("Select the index of the verb: ");
            var indexInput = Console.ReadLine();
            int index;
            if (Int32.TryParse(indexInput, out index))
            {
                if (index < 0 || index >= i)
                {
                    Console.WriteLine("Invalid index value.");
                    return;
                }

                var verbToUse = startInfo.Verbs[index];

                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.Write("Enter the network address of the target printer: ");
                    var arguments = Console.ReadLine();
                    startInfo.Arguments = arguments;
                }

                try
                {
                    using (var newProcess = new Process())
                    {
                        newProcess.StartInfo = startInfo;
                        newProcess.Start();

                        Console.WriteLine($"{newProcess.ProcessName} for file {fileName} " +
                                          $"started successfully with verb '{startInfo.Verb}'!");
                    }
                }
                catch (Win32Exception e)
                {
                    Console.WriteLine("  Win32Exception caught!");
                    Console.WriteLine($"  Win32 error = {e.Message}");
                }
                catch (InvalidOperationException)
                {
                    // Catch this exception if the process exits quickly, 
                    // and the properties are not accessible.
                    Console.WriteLine($"Unable to start '{fileName}' with verb {verbToUse}");
                }
            }
        }
        else
        {
            {
                Console.WriteLine("You did not enter a number.");
            }
        }
    }
}
开发者ID:.NET开发者,项目名称:System.Diagnostics,代码行数:89,代码来源:ProcessStartInfo.Verbs


注:本文中的System.Diagnostics.ProcessStartInfo.Verbs属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。