怎么让Windows 2008 服务程序启动另一个进程windows media player

如何让Windows 2008 服务程序启动另一个进程windows media player
我想让在windows2008上的一个服务程序,启动一个子进程(windows media player), 但是失败了。 
试过msdn上的例子, CreateProcessAsUser 和CreateProcessWithLogonW 。 
  
 谁做过类似的吗? 

------解决方案--------------------
CreateProcessAsUser 绝对没有问题,楼主开启用户进程的时候,传入的token对不对?我看csdn上有个大牛贴过代码,是先获取了 explorer.exe的token,把他作为CreateProcessAsUser 的参数,我试过,楼主肯定参数没搞好
------解决方案--------------------
楼主可参见:Administrator用户直接获取System权限(创建新System权限Token并调用CreateProcessAsUser)
说来真是沮丧,我连接两周都在研究跨seesion注入,跨session是没有问题,但是没有与CSRSS通信,导致注入后无法创建控制台、无法创建线程等必须调用CsrClientCallServer函数的功能,google翻遍了,kernel32.dll等源代码、汇编代码都跟到快速系统调用了还是不行,想尽了一切办法,都无法解决,半小时前才放弃,不再研究。
我这儿给楼主几个思路:
1.获取系统进程(比如winlogon.exe等的)Token,然后用此Token创建新进程;
2.创建系统权限的Token,用此Token创建新进程;
3.本地HOOK nt native api(好像是ZwCreateProcessEx还是NtCreateProcessEx,记不得了,没心情,都不想查了),这些native api创建进程有一个句柄,表示父进程的句柄,把winlogon等系统进程的句柄传进入,其他不变,然后创建进程,就会是system的进程;
4.远程注入winlogon(可使用CreateRemoteThread),然后在注入的dll里创建进程,自然这个进程就是系统进程了;
5.使用更加内核的nt native api RtlCreateUserThread和NtQueueApcThread进入注入,这个方法可以跨session,也是我所知目前*的方法,问题就是上面我所提及的,无法创建进程。
2008下的服务,session好像是0,而且权限也比一般程序高,很难搞定。
楼主上想以系统权限启动windows media player,还是仅仅想让一个服务启动windows media player?