当我以Windows服务运行脚本时,Python代码无法按预期工作
下面是获取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服务运行时,有没有其他方法可以获取桌面路径?
1 个回答
3
很可能,你的服务是以一个没有用户桌面文件夹的账户在运行的。另外要注意,服务默认是无法访问图形用户界面的。如果你的应用有图形界面,你需要特别设置你的服务,允许它与桌面进行交互(这里指的是用户的会话,而不是文件夹)。