如何在c#中通过按钮打开记事本

问题描述 投票:0回答:2

我是编程新手,并陷入了一些小问题。我的 Windows 应用程序上有一个按钮,我想在单击该按钮时打开记事本。我使用了互联网上从

process.start()
到甚至
envirnoment.path
的所有可用代码,但按钮不显示记事本。这是我已经尝试过的。

private void btnNotepad_Click(object sender, EventArgs e)
{
     string notepadPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.SystemX86), "notepad.exe");
     System.Diagnostics.Process.Start(notepadPath);
}

或者简单地说:

system.diagnostics.process.start(@"notepad.exe");

还做了这个:

string theData = txtbxRepeat.Text;
FileStream aFile = new FileStream("myTextFile.txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(aFile);
txtbxRepeat.Text = theData;
sw.WriteLine(theData);
sw.Close();

请帮助我。

c# notepad
2个回答
0
投票

您可以使用 btnStart_Click 启动应用程序

private void btnStart_Click(对象发送者,EventArgs e) { 尝试 { 使用(进程myProcess =新进程()) { 字符串 fn = @"C:\Windows\system32 记事本.exe”; myProcess.StartInfo.UseShellExecute = false; myProcess.StartInfo.FileName = fn; myProcess.StartInfo.CreateNoWindow = true; myProcess.Start(); }

   }
   catch
   {
       //
   }

}

并使用 btnClose_Click

停止进程

private void btnClose_Click(对象发送者,EventArgs e) {

 Process[] workers = Process.GetProcessesByName("notepad");         

 foreach (Process worker in workers)
 {
    
    
         try
         {
             worker.CloseMainWindow();                      
             break; // if working properly, break here.
         }
         catch
         {
             //worker.Kill();
             Thread.Sleep(2000);
             //worker.Kill();
             worker.CloseMainWindow();
             
         }
         finally
         {
             
         }
     }
     worker.Dispose();
 }

}


-1
投票

通过第一个和第二个代码片段,您正朝着正确的方向前进。但是,您需要指定 notepad++ exe 的完整路径。

     private void button1_Click(object sender, EventArgs e)
    {
         System.Diagnostics.Process.Start(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), "Notepad++", @"notepad++.exe"));
    }

但是,请记住用户可能已将 notepad++ 安装在不同的目录中(例如,他们没有 x86 目录)。

更新:更新为包括环境路径而不是硬编码路径。

© www.soinside.com 2019 - 2024. All rights reserved.