服务程序中启动Windows应用程序问题
做了一个服务程序,其中有一个功能是检测一个Windows应用程序(Win32窗口程序)是否正常运行,如果没有运行则将其启动,程序在启动时是最小化到系统托盘中的;
在2000/XP下没有问题,但在Vista/Win7下总是有问题:
1、如果在服务程序中用ShellExecute(Ex)/WinExec/CreateProcess等方法运行后,程序具有System权限,可以正常读写注册表等操作,但是不知道如何才能将程序窗口在当前默认的用户桌面运行,也就是说当前的系统托盘中看不到图标,也无法操作;
2、如果通过CreateProcessAsUser可以让程序运行在当前用户的桌面,但此时程序不具有管理员权限,无法操作注表,不能正常工作;
如何才能在服务中检测并运行此矢口否认序呢?