2013-11-14 70 views
1

我的一個客戶端使用任務管理器來觸發(啓動)一個進程來執行某些操作。這個過程包含一個UI,並且需要在任何時候都成爲一個單獨的實例(已經被照顧)。啓動後自動登錄到windows

一切從任務管理器運行平穩,如果你需要的任務管理器設置設定爲接受:」跑用戶是否登錄或不」(見答案爲什麼這是一個問題在這裏: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#中使用不同用戶憑據運行進程,但這不是解決此問題的方法。

計算機啓動時自動登錄用戶(並鎖定計算機)會很好。 這是以任何方式可能嗎?還是有我的問題的另一種解決方案?

問候,

Matthijs

回答

2

創建和安裝Windows Service做實際的工作。該服務不需要登錄用戶,並且定義只能一次運行一次,因此可以解決所有問題。然後讓UI communicate with the service through IPC並讓UI應用程序start upon logon

您可以選擇當然只是let the user autologon,在啓動文件夾中放置一個程序快捷方式,並在應用程序啓動後調用LockWorkStation()函數,但由於存在安全問題,我不會採取或推薦此方法。

+0

我真的很希望有其他的東西,但我有點「害怕」你的想法是唯一正確的......太糟糕了......但是,無論如何感謝 – user369122

+1

@ user369122:你不應該太害怕這個答案。使用Visual Studio將應用程序編譯爲服務應該很容易。第一次編寫客戶端 - 服務器應用程序可能需要一些學習,但這是值得的。 – Zane

+0

@ Zane。在「害怕」的時候,我更多地指出爲了削減整個項目的工作量和GUI成本,額外的努力(和成本)。你是對的,創建服務並不難。我將與我的客戶討論這個問題,但我並不那麼熱衷於周圍所有人都可以使用的系統。 – user369122

0

可以自動登錄到用戶帳戶在啓動時這樣的:

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

  1. 單擊開始,鍵入netplwiz,然後按Enter鍵。
  2. 在用戶帳戶對話框中,單擊要自動登錄的帳戶。如果可用,請清除用戶必須輸入用戶名和密碼才能使用此計算機複選框。
  3. 單擊確定。
  4. 在自動登錄對話框中,輸入用戶密碼兩次,然後單擊確定。

下次重新啓動計算機時,它將自動使用您選擇的本地用戶帳戶登錄。

0

作爲預定義用戶的自動Windows登錄是單用戶計算機或家庭計算機的便捷功能。這消除了在安全環境中輸入不必要的重複密碼的麻煩,並加速了Windows啓動和用戶配置文件熱身。

不管怎樣,請不要忘記這是一種安全漏洞,絕不應該應用於可能陷入敵對手中的計算機。

有關該過程的詳細說明,與Windows註冊表無關,可用HERE