1

我的一个客户使用任务管理器来触发(启动)一个进程来做某事。此流程包含一个 UI,并且需要始终是单个实例(已处理)。

一切都从任务管理器顺利运行,如果您需要将任务管理器设置设置为:“无论用户是否登录都运行”(请参阅​​为什么这是一个问题的答案:http: //social.technet.microsoft .com/Forums/en-US/c03d6691-b058-4f8d-961c-e8eba25bbaed/task-scheduler-problem-run-whether-user-is-logged-on-or-not

好的。。没问题。我们只是让任务仅在用户登录时运行。仍然可以正常工作(即使计算机锁定)。

但是,这个晚上windows有一个更新,系统自动重启了。用户的日志记录以及因此任务管理器无法运行任务。:-(

由于该程序有一个 UI(需要),我无法切换到“无论用户是否登录都运行”。什么是最佳做法:

  1. 以需要运行应用程序的用户身份再次登录
  2. 确保用户登录时启动的应用程序实际上是可见的?(解锁电脑)

我知道如何在 C# 中使用不同的用户凭据运行进程,但这不是解决此问题的方法。

计算机启动时自动登录用户(并锁定计算机)会很棒。这有可能吗?或者我的问题有其他解决方案吗?

问候,

马蒂斯

4

3 回答 3

2

创建并安装一个Windows 服务来完成实际工作。该服务不需要登录用户,并且根据定义一次只运行一个实例,因此这解决了您的所有问题。

然后让UI 通过 IPC 与服务通信,并让 UI 应用程序在登录时启动

当然,您也可以让用户自动登录,将程序的快捷方式放在启动文件夹中,并LockWorkStation()在应用程序启动后调用该函数,但我不会采用也不推荐这种方法,因为它存在安全问题。

于 2013-11-14T10:56:48.700 回答
0

以预定义用户身份自动登录 Windows 是单用户计算机或家用计算机的一项便捷功能。这消除了在安全环境中输入不必要的重复密码的麻烦,并加快了 Windows 启动和用户配置文件的预热。

但是,请永远不要忘记,这是一种安全漏洞,不应该在计算机上应用,这可能会落入敌对之手。

此处提供了该过程的详细说明,而不会弄乱 Windows 注册表。

于 2013-12-27T22:54:34.893 回答
0

您可以在启动时自动登录到用户帐户:

http://technet.microsoft.com/en-us/magazine/ee872306.aspx

  1. 单击开始,键入 netplwiz,然后按 Enter。
  2. 在“用户帐户”对话框中,单击要自动登录的帐户。如果可用,请清除“用户必须输入用户名和密码才能使用这台计算机”复选框。
  3. 单击确定。
  4. 在“自动登录”对话框中,输入两次用户密码,然后单击“确定”。

下次重新启动计算机时,它将使用您选择的本地用户帐户自动登录。

于 2013-11-14T13:29:18.453 回答