在服务中无法启动应用程序界面解决办法

在服务中无法启动应用程序界面
环境:Windows Server 2003
在系统服务中,采用CreateProcess启动应用程序,在进程管理中,看到相关进程启动,但是无法看到界面。

C/C++ code

hScm=OpenSCManager(0, 0, SC_MANAGER_CREATE_SERVICE);
hService=CreateService(
  hScm,
  _T("ServiceTest"),
  _T("ServiceTest"),
  SERVICE_ALL_ACCESS,
  SERVICE_INTERACTIVE_PROCESS | SERVICE_WIN32_OWN_PROCESS,
  SERVICE_AUTO_START,
  SERVICE_ERROR_NORMAL,
  "c:\\ServiceTest.exe",
  0,0,0,0,0
);

PROCESS_INFORMATION pi;
STARTUPINFO sti;
ZeroMemory(&sti,sizeof(sti));
sti.cb=sizeof(sti);
sti.lpDesktop= "WinSta0\\Default";
CreateProcess(strCmd,NULL,NULL,NULL,FALSE,0,NULL,NULL,&sti,&pi);


我在XP下测试的,是可以启动界面,就是在2003 Server上不行。

------解决方案--------------------
这个问题经常出现
OpenProcessToken
DuplicateToken
WTSGetActiveConsoleSessionId
SetTokenInformation
CreateProcessAsUser
------解决方案--------------------
探讨

安装服务的时候,会自动选上的。