日期:2014-05-17  浏览次数:21101 次

【老问题新麻烦】关于WIN7/VISTA 新系统的windows服务与桌面应用程序的交互
在WINDOWS XP/2003下 一下代码可以解决的

  base.OnAfterInstall(e.SavedState);

            ManagementObject wmiService = null;
            ManagementBaseObject InParam = null;
            try
            {
                wmiService = new ManagementObject(string.Format("Win32_Service.Name='{0}'", Constants.ServiceName));
                InParam = wmiService.GetMethodParameters("Change");
                InParam["DesktopInteract"] = true;
                wmiService.InvokeMethod("Change", InParam, null);
            }
            finally
            {
                if (InParam != null)
                    InParam.Dispose();
                if (wmiService != null)
                    wmiService.Dispose();
            }



但是在WIN7下面无效 启动服务的时候系统会提示一个 应用程序交互检测的对话框··无法直接弹出GUI应用程序
请问在WIN7下面如何做到这个功能? 请大家支招啊···

------解决方案--------------------
做不到,与桌面交互这功能被取消了,所以也没这个设置了。
------解决方案--------------------
lz解决了没有,说下方法
------解决方案--------------------
看这里,可以帮你解决!
http://www.codeproject.com/Articles/18017/Windows-Vista-aware-NT-Service-interacting-with-th