ProcessStartInfo启动线程--Verb

     ProcessStartInfo 与 Process 组件一起使用。使用 Process 类启动进程时,您还可以访问附加到当前运行进程时可用的进程信息之外的进程信息。

     可以使用 ProcessStartInfo 类来更好地控制您启动的进程。至少必须以手动方式或使用构造函数来设置 FileName 属性。文件名是任何应用程序或文档。此处,将文档定义为具有与其关联的打开或默认操作的任何文件类型。您可以通过操作系统的“文件夹选项”对话框来查看计算机的已注册文件类型及其关联应用程序。单击“高级”按钮可打开一个对话框,该对话框显示是否存在与特定的注册文件类型相关联的打开操作。

     还可以设置定义要对该文件执行的操作的其他属性。可以为 Verb 属性指定特定于 FileName 属性的类型的值。例如,可以为文档类型指定“print”。另外,还可以指定 Arguments 属性值,这些值将成为传递给文件的打开过程的命令行参数。例如,如果在 FileName 属性中指定一个文本编辑器应用程序,则可以使用 Arguments 属性指定将用该编辑器打开的一个文本文件。

     系统常见的verb主要有以下几种: open, edit,print, printto。 其他的verb可以通过shell程序向系统注册。再次不做深入研究。在系统常见的几种verb里面,比较常用的是open。 如果要使用edit,除非是open和edit有明显的不同。比如说,打开一个.htm文件,一般用的是ie;但如果使用edit的时候,则是使用的word或者其他可以edit的工具。常见的这种open和edit表现形式不一样的文件类型还有.csv文件。

     对不同的verb谓词来讲,可直接设置。实例如下

 

ContractedBlock.gif ExpandedBlockStart.gif Code
string fileToEdit = ".";
if (fileToEdit != String.Empty)
{                
    
try
    {
         ProcessStartInfo startInfo 
= new ProcessStartInfo(fileToEdit);         
         startInfo.Verb 
= 
                   (editCmdHelper.EditAbility 
== EditAbility.Editable) ? /*MSG0*/"edit" : /*MSG0*/"open" ;
         System.Diagnostics.Process.Start(startInfo);
    }
    
catch
    {
         
// using edit verb threw an exception, so now use the default
         try
         {
              System.Diagnostics.Process.Start(fileToEdit);
         }
         
catch (Exception excp)
         {
              CommonMessageBox.Show(excp);
              editCmdHelper.UndoCheckoutEditFile();
         }
     }
}

 

 

转载于:https://www.cnblogs.com/joechen/archive/2008/11/21/1338168.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值