当我将脚本作为 Windows 服务运行时,Python 代码无法按预期工作

标签 python windows windows-vista service

这是在 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 服务运行时,是否还有其他替代方法来获取桌面路径?

最佳答案

很可能,您的服务在没有用户桌面文件夹的帐户下运行。另请注意,默认情况下,服务无法访问 GUI - 如果您的应用有 GUI,则必须将您的服务标记为允许与桌面(用户 session ,而不是文件夹)交互。

关于当我将脚本作为 Windows 服务运行时,Python 代码无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1455592/

相关文章:

c# - 在 C# 中拦截 Windows Vista 关闭事件

c++ - Microsoft Visual Studio 2008 C++ 错误 LNK2001,Windows Vista 64 位

python - 在 Python ssl 客户端/服务器的情况下自动输入密码

java - 环境 :CATALINA_BASE not resolving in Tomcat 8. 0/log4j

windows - 当互联网仍然连接时,Chrome/IE 运行 20 分钟后出现 ERR_CONNECTION_FAILED

c++ - 如何在不打开的情况下获得最大文件的大小?

windows-vista - OpenInputDesktop() 确定安全/登录桌面

python - 按升序对列进行排序

python - 检查失败 : error == cudaSuccess (2 vs. 0) 内存不足

python - file.write 仅在交互式 python session 退出时执行?