直接打开指定的文件 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."); } } }