我的客户端使用任务管理器来触发(启动)进程来执行某些操作。这个过程包含一个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 < / p>
好的..没问题。我们只是在用户登录时才让任务运行。仍然可以正常工作(即使计算机已锁定)。
但是,这晚的Windows有更新,系统会自动重启。记录用户以及任务管理器无法运行任务。 : - (
由于程序有一个UI(需要),我无法切换到“运行用户是否登录”。 什么是最佳做法:
我知道如何在C#中使用不同的用户凭据运行进程,但这不是解决此问题的方法。
计算机启动时自动登录用户(并锁定计算机),会很棒。 这有可能吗?或者我的问题有另一种解决方案吗?
此致
Matthijs
答案 0 :(得分:2)
创建并安装Windows Service以执行实际工作。此服务不需要登录用户,并且根据定义,一次只运行一次实例,因此这可以解决您的所有问题。
然后让UI communicate with the service through IPC让UI应用程序start upon logon。
您当然可以选择let the user autologon,在启动文件夹中放置程序的快捷方式,并在应用程序启动后调用LockWorkStation()
函数,但我不会采取或推荐这种方法,因为它有安全问题。
答案 1 :(得分:0)
您可以在启动时自动登录用户帐户:
http://technet.microsoft.com/en-us/magazine/ee872306.aspx
- 单击“开始”,键入netplwiz,然后按Enter键。
- 在“用户帐户”对话框中,单击要自动登录的帐户。如果可用,请清除“用户必须输入用户名和密码才能使用此计算机”复选框。
- 单击“确定”。
- 在“自动登录”对话框中,输入用户密码两次,然后单击“确定”。
醇>下次重新启动计算机时,它将自动使用您选择的本地用户帐户登录。
答案 2 :(得分:0)
作为预定义用户的自动Windows登录是单用户计算机或家用计算机的便捷功能。这消除了在安全环境中进入不必要的重复密码的麻烦,并加快了Windows启动和用户配置文件的预热。
无论如何,请永远不要忘记这是一种安全漏洞,绝对不能应用于可能落入敌对手中的计算机上。
可以使用HERE获取有关该过程的详细说明,而不会弄乱Windows注册表。