abriendo otro programa a través del servicio de windows usando python

Estoy intentando abrir / ejecutar otro programa a través del servicio de Windows usando el código Python. Cuando se inicie el servicio de Windows, se ejecutará otro programa, es decir, el Bloc de notas. El código está bien sin error pero no abre el programa. El código se da a continuación.

Código:

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)

En el método SvcDoRun he intentado el siguiente código pero no he tenido éxito:

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

También lo intenté pero no tuve éxito.

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

También lo intenté pero no tuve éxito.

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

Me estoy perdiendo algo? o lo estoy haciendo de la manera incorrecta! Por favor ayuda

Respuestas a la pregunta(1)

Su respuesta a la pregunta