2013-01-22 142 views
0

我正在使用安裝在程序文件文件夾中的vC++後臺應用程序。它在手動啓動時工作正常,它在相同的文件夾中創建xml文件。但是,應用程序在配置爲啓動時不會創建該文件。使用管理員權限啓動應用程序vC++

即使我提供requireAdministrator特權,它也不會在啓動時創建文件。

這同樣與Granting administrator privileges to an application launched at startup without UAC prompt?

但是當程序運行作爲管理員它在啓動時不啓動的問題,這是我的問題

,但我工作在VC++的解決方案。

請幫我工作的這一個多星期

+0

Windows不允許這個了。當你在啓動文件夾/ run/runonce keys中放置一個顯式的EXE時,Windows將跳過它以提供更好的用戶體驗。 –

回答

1

你加一個適當的清單到您的項目? 在VC++中,您必須添加一個(http://msdn.microsoft.com/en-us/library/windows/desktop/bb756929.aspx)

+0

感謝您的回覆。是的,我創建了一個清單並鏈接它。如果我提供requireAdministrator特權,則應用程序本身不會啓動。我應該怎麼做才能以管理員身份啓動應用程序 – user1441251

+0

當程序以管理員身份運行時,它不會在啓動時啓動,這是我的問題 – user1441251

1

將XML文件移動到ProgramData(CSIDL_APPDATA)。

+0

正在使用tinyxml每分鐘更新一次xml文件。我只能在應用程序路徑中保存xml - > doc.SaveFile(「Smartmeter.xml」);我無法在另一個路徑中保存xml。 – user1441251

+0

@ user1441251:錯誤,請參閱http://stackoverflow.com/questions/2376468/visual-studio-2005-and-tinyxml-xml-file-location。另一種解決方案是在調用'SaveFile'之前將當前工作目錄更改爲'CSIDL_APPDATA'。 – MSalters

1

我假設你已經啓用了UAC(即出現UAC提示)。如果是這樣,當你從資源管理器啓動時,你總會看到它,並且不會從管理模式Visual Studio中看到(因爲VS被升級),因此你的進程將被提升。

但是,當您的進程啓動時,UAC將不會出現,並且您的應用程序將無法啓動。最好是而不是使您的應用程序需要管理員權限(您爲什麼需要?)。您可以將數據保存在其他文件夾中。

如果您需要,您可能需要創建一個服務,它將以提升模式啓動應用程序(是的,沒有任何UAC提示)。

請檢查系統事件報告爲您的應用程序,因爲這不容易調試。

相關問題