首页 > 解决方案 > Process.Start Notepad++ 一个由 Windows 服务启动的应用程序

问题描述

我有一个在 .NET (C#) 上开发的 Windows 服务和一个 UI 应用程序。当我启动 windows 服务时,windows 服务将启动与登录用户对应的 UI 应用程序=> 成功

在我的应用程序中,我有一个按钮可以通过默认编辑器通过如下编码打开日志文件:

// filePath is path to text file
// Example: C:\UserData\logs\abc.log
System.Diagnostics.Process.Start(filePath);

如果我将日志文件的默认编辑器设置为记事本或写字板,则可以正常工作。
但是如果我将默认编辑器设置为 Notepad++,它将显示消息框:

  1. 加载 langs.xml 失败!
  2. 加载 stylers.xml 失败!

另一个,如果我用 Notepad++ 双击打开这个文本文件,它工作正常。这些错误仅在我通过 C# 代码打开文件时显示。

环境:

  1. .NET 框架 4.7.1
  2. Windows 10 32 位
  3. 记事本++ 7.6.4(32 位)
  4. 应用程序由 Windows 服务启动,与活动用户的登录会话相同。

在此处输入图像描述

我该如何解决这个问题?

标签: c#windows-servicesnotepad++process.start

解决方案


推荐阅读