以下是在Windows Vista上获取桌面路径的代码。
import pythoncom
import win32com.client
pythoncom.CoInitialize()
shell = win32com.client.Dispatch("WScript.Shell")
desktop_path = shell.SpecialFolders("Desktop")
当我尝试使用python解释器时,代码工作正常,但是当我从作为Windows服务运行的Python脚本执行相同的代码时,它无法正常工作。函数将桌面路径返回为空字符串。
知道这里有什么问题吗?当python脚本作为Windows服务运行时,还有其他替代方法可以获取桌面路径吗?
答案 0 :(得分:3)
最有可能的是,您的服务是在没有用户桌面文件夹的帐户下运行的。另请注意,默认情况下,服务无法访问GUI - 如果您的应用程序有GUI,则必须将服务标记为允许与桌面交互(用户会话,而不是文件夹)。