c# - 从 Windows 服务打开对话窗口

标签 c# .net windows service

我在 C# 中创建了一个 Windows 服务应用程序,以在特定时间间隔弹出一个对话窗口。在 Visual Studio 中调试时,它运行良好。然后我创建了一个安装设置。但是在安装该服务后不会触发弹出对话框窗口。 会是什么原因,我该如何解决?

最佳答案

服务在与交互式桌面隔离的 session 0 中运行。您不能从服务中显示 UI。您需要运行一个单独的桌面进程来显示 UI,然后使用 IPC 在服务和桌面进程之间进行通信。

如果您的对话框足够简单,您可以使用 WTSSendMessage .

如果您想定期运行代码,那么使用计划任务而不是服务可能会更好。

关于c# - 从 Windows 服务打开对话窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16272865/

相关文章:

c# - 如何使用项目按钮单击将 ListView 值传递到另一个页面?

c# - 将集合传递给方法的格式

.net - 应该在多大程度上使用反射?

linux - 如何修复 Windows 10 上的 Debian 的 Rust 错误 "linker ' cc' not found?

.net - 在域网络中激活UAC的情况下,从用户启动的过程以域管理员身份启动过程

c# - 正则表达式 - 重复捕获

c# - 在 ASP.net 中使用 SQL 填充的 GridView 的日期格式 - 非绑定(bind)字段

javascript - 将 json 发送到(不是 REST)WCF 服务

.net - 使用 Entity Framework 按时间戳列选择新记录

windows - 替换/更新文件共享上的特定文件