c# - 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++,它将显示消息框:
- 加载 langs.xml 失败!
- 加载 stylers.xml 失败!
另一个,如果我用 Notepad++ 双击打开这个文本文件,它工作正常。这些错误仅在我通过 C# 代码打开文件时显示。
环境:
- .NET 框架 4.7.1
- Windows 10 32 位
- 记事本++ 7.6.4(32 位)
- 应用程序由 Windows 服务启动,与活动用户的登录会话相同。
我该如何解决这个问题?
解决方案
推荐阅读
- ubuntu - 由于 debhelper 导致 dh-systemd 的 apt-get install 失败,但 debhelper 已经是最新版本
- f# - 领域建模寺庙牧师的服务
- ios - iOS12的元素树中没有出现系统警报
- javascript - Promise 并不总是从 Web 服务中获取所有值
- android - CWAC 错误:无法获取提供程序 com.commonsware.cwac.provider.StreamProvider
- vue.js - 从数组中拖放不正确的项目
- css - 将 SCSS 语法更改为 SASS 语法
- bash - 捕获远程 ssh 命令失败的输出
- android - Hello World Android IntentService - IntentService 的 enqueueWork() 函数不接受参数 MyIntentService.class
- linux - 终端linux(Centos6):如何执行命令->在输出+日志文件+中获取PID而不等待?