-3

编码:

private void viewLogFileToolStripMenuItem_Click(object sender, EventArgs e)
{
     string path_log = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log";
     string logger_file = @"\logger.txt";
     string LoggerFileName = Path.Combine(path_log, logger_file);    
}

我希望当我单击菜单项时,它将在记事本中自动打开 LoggerFileName 并向我显示记事本窗口。

4

4 回答 4

2

如果 txt 文件默认打开的应用程序设置为记事本,您可以如下打开它

System.Diagnostics.Process.Start(LoggerFileName);

下面将使用给定文件打开记事本

System.Diagnostics.Process.Start("notepad.exe", LoggerFileName);

笔记 :

string LoggerFileName = Path.Combine(
                      Path.GetDirectoryName(Application.LocalUserAppDataPath), 
                     "log", 
                     "logger.txt");
于 2013-06-08T16:16:41.007 回答
1

.Net 框架中有 Process 类。

在ProcessStartInfo.UseShellExecute设置为 true 的情况下使用它。然后你可以“启动” .txt 文件,用户可以选择它最喜欢的编辑器。但是,默认值无论如何都是记事本。

于 2013-06-08T16:17:45.837 回答
1

关于什么

   private void viewLogFileToolStripMenuItem_Click(object sender, EventArgs e)
   {
        string path_log = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log";
        string logger_file = @"\logger.txt";
        string LoggerFileName = Path.Combine(path_log, logger_file);
        string notepadPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System),"notepad.exe")
        Process.Start(notepadPath,LoggerFileName);
    }

?

于 2013-06-08T16:18:11.260 回答
1

你有没有研究过这个?

private void viewLogFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            string path_log = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log\";
            string logger_file = @"\logger.txt";
            string LoggerFileName = Path.Combine(path_log, logger_file);
            Process.Start(Path.Combine(Environment.SystemDirectory, @"\notepad.exe"), LoggerFileName);
        }

谷歌所需要的只是“获取记事本路径 c#”和“启动进程 c#”。

于 2013-06-08T16:17:02.803 回答