2009-09-21 77 views
3

以下是在Windows Vista上獲取桌面路徑的代碼。當我試圖在Python解釋器,但是當我執行從Python腳本,運行作爲Windows服務相同的代碼它不工作當我將腳本作爲Windows服務運行時,Python代碼無法正常工作

import pythoncom 
import win32com.client 

pythoncom.CoInitialize() 
shell = win32com.client.Dispatch("WScript.Shell") 
desktop_path = shell.SpecialFolders("Desktop") 

代碼工作正常。函數返回桌面路徑爲空字符串。

任何想法這裏有什麼問題嗎?當python腳本作爲Windows服務運行時,是否有其他替代方法來獲取Desktop路徑?

回答

3

很可能,您的服務在沒有用戶桌面文件夾的帳戶下運行。還請注意,默認情況下,服務無法訪問GUI - 如果您的應用程序有一個,則必須將您的服務標記爲允許與桌面交互(用戶會話,而不是文件夾)。