• C#winfrom打开指定的文件


    直接打开指定的文件
    System.Diagnostics.Process.Start(v_OpenFilePath);
    直接打开目录
    string v_OpenFolderPath = @"目录路径"; System.Diagnostics.Process.Start("explorer.exe", v_OpenFolderPath);

      

    在WinForm/C#中打开一个文件,主要是用到进程的知识。
    
    下面是一些实例,可以模仿着去实现。
    
    1.          打开文件
    
    private void btOpenFile_Click(object sender, EventArgs e)
    
    {
    
    //定义一个ProcessStartInfo实例
    
    System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo();
    
    //设置启动进程的初始目录
    
    info.WorkingDirectory = Application.StartupPath;
    
    //设置启动进程的应用程序或文档名
    
    info.FileName = @"test.txt";
    
    //设置启动进程的参数
    
    info.Arguments = "";
    
    //启动由包含进程启动信息的进程资源
    
    try
    
    {
    
    System.Diagnostics.Process.Start(info);
    
    }
    
    catch (System.ComponentModel.Win32Exception we)
    
    {
    
    MessageBox.Show(this, we.Message);
    
    return;
    
    }
    
    }
    
    2.          打开浏览器
    
    private void btOpenIE_Click(object sender, EventArgs e)
    
    {
    
    //启动IE进程
    
    System.Diagnostics.Process.Start("IExplore.exe");
    
    }
    
    3.          打开指定URL
    
    方法一:
    
    private void btOpenURL_Click(object sender, EventArgs e)
    
    {
    
    //启动带参数的IE进程
    
    System.Diagnostics.Process.Start("IExplore.exe", "http://hi.baidu.com/qinzhiyang");
    
    }
    
    方法二:
    
    private void btOpenURLwithArgs_Click(object sender, EventArgs e)
    
    {
    
    //定义一个ProcessStartInfo实例
    
    System.Diagnostics.ProcessStartInfo startInfo = newSystem.Diagnostics.ProcessStartInfo("IExplore.exe");
    
    //设置进程参数
    
    startInfo.Arguments = " http://hi.baidu.com/qinzhiyang ";
    
    //并且使进程界面最小化
    
    startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
    
    //启动进程
    
    System.Diagnostics.Process.Start(startInfo);
    
    }
    
    4.          打开文件夹
    
    private void btOpenFolder_Click(object sender, EventArgs e)
    
    {
    
    //获取“收藏夹”文件路径
    
    string myFavoritesPath = System.Environment.GetFolderPath(Environment.SpecialFolder.Favorites);
    
    //启动进程
    
    System.Diagnostics.Process.Start(myFavoritesPath);
    
    }
    
    5.          打印文件
    
    private void PrintDoc()
    
    {
    
    //定义一个进程实例
    
    System.Diagnostics.Process myProcess = new System.Diagnostics.Process();
    
    try
    
    {
    
    //设置进程的参数
    
    string myDocumentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
    
    myProcess.StartInfo.FileName = myDocumentsPath + "\TxtForTest.txt";
    
    myProcess.StartInfo.Verb = "Print";
    
    //显示txt文件的所有谓词
    
    foreach (string v in myProcess.StartInfo.Verbs)
    
    MessageBox.Show(v);
    
           
    
    myProcess.StartInfo.CreateNoWindow = true;
    
    //启动进程
    
    myProcess.Start();
    
    }
    
    catch (Win32Exception e)
    
    {
    
    if (e.NativeErrorCode == ERROR_FILE_NOT_FOUND)
    
    {
    
    MessageBox.Show(e.Message + " Check the path." + myProcess.StartInfo.FileName);
    
    }
    
    else if (e.NativeErrorCode == ERROR_ACCESS_DENIED)
    
    {
    
    MessageBox.Show(e.Message + " You do not have permission to print this file.");
    
    }
    
    }
    
    }
    

      

  • 相关阅读:
    Nginx禁止IP,只允许指定域名访问
    预防vsphere勒索病毒,适用于 ESXi 6.x 中的 OpenSLP 安全漏洞 (CVE-2019-5544) 的权宜措施 (76372)
    解决 vCenter root 密码过期无法登陆 User password expired
    停用Veritas Smart Meter-概念与操作
    centos7.0 没有netstat 和 ifconfig命令问题
    MAVEN剪除传递依赖
    Spring+SpringMVC+MyBatis+Maven框架整合
    CentOS7配置MongoDB
    利用mybatis-generator自动生成代码
    idea提交本地项目到git
  • 原文地址:https://www.cnblogs.com/Angdybo/p/7777893.html
Copyright © 2020-2023  润新知