otwieranie innego programu przez usługę Windows przy użyciu Pythona

Usiłuję otworzyć / wykonać inny program za pośrednictwem usługi Windows przy użyciu kodu Pythona. Po uruchomieniu usługi Windows zostanie uruchomiony inny program, np. Notatnik. Kod jest bezbłędny, ale nie otwiera programu. Kod jest podany poniżej.

Kod:

import win32serviceutil
import win32service
import win32event
import win32com.shell.shell as w32shell
import os
import sys
import win32process as process

class SmallestPythonService(win32serviceutil.ServiceFramework):
  _svc_name_ = "BSmallestPythonService"
  _svc_display_name_ = "BSmallest possible Python Service"
def __init__(self, args):
    win32serviceutil.ServiceFramework.__init__(self, args)
    # Create an event which we will use to wait on.
    # The "service stop" request will set this event.
    self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)


def SvcStop(self):
    # Before we do anything, tell the SCM we are starting the stop process.
    self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
    # And set my event.
    win32event.SetEvent(self.hWaitStop)

def SvcDoRun(self):
    win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)
    import subprocess
    cmd = "notepad.exe"
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, creationflags=0x08000000)
    process.wait()

if __name__=='__main__':
    win32serviceutil.HandleCommandLine(SmallestPythonService)

W metodzie SvcDoRun wypróbowałem następujący kod, ale bez powodzenia:

import subprocess
subprocess.Popen('calc.exe', shell=False)

Próbowałem również, ale bez powodzenia:

import subprocess 
subprocess.call('notepad.exe', shell=False)

próbowałem, ale bez powodzenia:

import win32api
win32api.WinExec('NOTEPAD.exe') # Works seamlessly

Brakuje mi czegoś? lub robię to w niewłaściwy sposób! Proszę pomóż

questionAnswers(1)

yourAnswerToTheQuestion