2009-09-21 3 views
3

Windows Vista에서 Desktop 경로를 가져 오는 코드는 다음과 같습니다. 내가 파이썬 인터프리터하지만 Windows 서비스로 실행 파이썬 스크립트에서 동일한 코드를 실행할 때의 작동 여부에 시도 할 때스크립트를 Windows 서비스로 실행할 때 Python 코드가 예상대로 작동하지 않습니다.

import pythoncom 
import win32com.client 

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

코드는 잘 작동합니다. 함수는 데스크톱 경로를 빈 문자열로 반환합니다.

무엇이 잘못 되었습니까? 파이썬 스크립트가 Windows 서비스로 실행될 때 데스크탑 경로를 얻는 다른 대안이 있습니까?

답변

3

대부분 사용자의 데스크톱 폴더가없는 계정으로 서비스가 실행되고 있습니다. 또한 기본적으로 서비스에는 GUI에 대한 액세스 권한이 없습니다. 앱에있는 경우 서비스가 데스크톱과 상호 작용할 수 있도록 표시해야합니다 (폴더가 아닌 사용자 세션).

관련 문제