科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual Basic .NET 中使用文件名启动应用程序

Visual Basic .NET 中使用文件名启动应用程序

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Visual Basic .NET 中使用文件名启动应用程序

作者:newhong 来源:赛迪网技术社区 2007年11月27日

关键字: 启动 文件名

  • 评论
  • 分享微博
  • 分享邮件
本文演示如何启动与给定文档扩展名或文件类型关联的应用程序,而不需知道关联应用程序的名称或位置。 例如,可以使用与 .bmp 文件扩展名关联的应用程序启动 Arcade.bmp,大多数情况下,该应用程序为 MSPaint.exe。 }gU]fEW  
O6T!)4M&  
MS ^TDJ,]  
要求 Ln T7S H  
Microsoft Visual Basic .NET M=Y-|BM   
指定 ProcessStartInfo 信息 .''d CQ  
    可以使用 .NET 框架 Process 类的 ProcessStartInfo 结构指定启动进程时的选项。 本文概述了如何使用文件名选项。 另一个成员 UseShellExecute 指定根据文件扩展名或文件类型启动进程,而不是根据可执行文件 (.exe) 的名称。 默认情况下,此属性设置为 True。 为了便于说明,在此代码中特意明确设置了该属性。 M\d,Fp!o-  
Dim fileName as String = "\eula.txt" 33z;lT y  
Dim sysFolder As String = _ 1u QZ>  
Environment.GetFolderPath(Environment.SpecialFolder.System) AP "!\l~^4  
Dim pInfo As New ProcessStartInfo() *ATe`AV  
pInfo.FileName = sysFolder & fileName Rc(q'&T$l  
pInfo.UseShellExecute = True tGmy|l-f  
启动应用程序 lW:6};i)  
本示例打开一个名为 Eula.txt 的文件。该文件是使用与 .txt 文件扩展名关联的应用程序打开的,通常是 Notepad.exe。可以替换任何有关联应用程序的文件名或类型。 *1<5Cm?zm  
Dim p As Process = Process.Start(pInfo) ,RGC; qT  
用于启动应用程序的快捷方式 yJURF9  
因为对进程而言 UseShellExecute 默认为 True,所以启动进程时不需要使用 ProcessStartInfo。 可以使用一行代码启动关联的应用程序(如下所示): wSX4f4+3D  
Dim p As Process = Process.Start("c:\winnt\system32\eula.txt") e;uZ$v~r  
完整代码示例 Z_M`\?  
    'How to Start a Process with a File Name \:n~3w   
    'Specify a file. <k"qENhP  
    Dim fileName as String = "\eula.txt" ;^ v|5  
    'Get the name of the system folder. 3uS?fu]8"t  
$}: yHT  
    Dim sysFolder As String = _ 0c]`d.r  
Environment.GetFolderPath(Environment.SpecialFolder.System) U>S<KM8[^  
    'Create a new ProcessStartInfo structure. VHVA1NU}  
    Dim pInfo As New ProcessStartInfo()  (2AJ*Ib2  
    'Set the file name member of pinfo to Eula.txt in the system folder. +k[Oi ^JW  
    pInfo.FileName = sysFolder & fileName Ra8;UYA  
    'UseShellExecute is true by default. It is set here for illustration. +||PmXY#  
    pInfo.UseShellExecute = True 1B!v`kU  
    'Start the process as specified in the process info structure. 2-= oX"  
    Dim p As Process = Process.Start(pInfo) |:>mVCp`  
疑难解答 +eg"5K8Oz  
单台计算机可能没有安装关联的应用程序,或者注册表中的关联可能不正确。 最好将此代码包含在 try...catch 块中,这样,当失败时系统就会对应用程序发出警报 G`mAZE(   查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章