2013-07-21 85 views
0

我想在管理權限用戶登錄時自動啓動我的應用程序。我發現這個問題:How to run a program automatically as admin on Windows startup?但它不能解決我的問題。如果我使用schtasks,有兩個問題:第一個問題是,它不會在vista,xp,...上的用戶桌面上運行(請參閱第2個答案的註釋)。第二個問題是對onlogon參數的描述以管理員權限登錄時開始

任務在用戶(任何用戶)登錄時運行。您可以指定日期,或在用戶下次登錄時運行任務。

請參閱http://technet.microsoft.com/en-us/library/bb490996.aspx。我想創建一個設置界面,允許每個用戶開啓和關閉登錄。

那麼有沒有更好的解決方案,也將在Windows XP上工作?

回答

0

Schtasks /Create /TN admin /RU SYSTEM /SC ONLOGON /TR C:\admin\admin.bat
正在接近可爲計劃任務本身完成的最佳工作。以用戶管理員而非SYSTEM身份運行任務可能會顯示UI,如下所示:Schtasks /Create /TN admin /RU "<administrator username>" /SC ONLOGON /TR C:\admin\admin.bat

在任務啓動的任何批處理文件中都有很大的靈活性。

如果 「C:\ ADMIN \ admin.bat」 是

set there=0 
for /F %%G in ('find "%username%" C:\access\users.txt') do if ("%%G") EQU ("%username%") set there=1 
if ("%there%") EQU ("1") start "real" "cmd" "/C "C:\admin\real.bat"" 

和 「C:\ ADMIN \ real.bat」 包含任何你真的要執行(因此得名),這腳本應該解決讓用戶選擇程序是否啓動的問題,方法是在「C:\ access \ users.txt」中添加或刪除自己。

要解釋,for/F行解析當前用戶名稱的「users.txt」文件,如果用戶的用戶名在一行中逐字列出,則將「there」設置爲1。接下來,「if」行檢測用戶名是否確實存在於文件中,並且只在第二批文件啓動時纔會啓動。

+0

非常感謝,但我也試過。最後我創建了一個很好的服務:) –