用C# 谢了一个窗体文件A 然后 写一个服务文件B 后台服务B一直在运行查看A是否启动,没有启动就启动 。启动不做操作 !
那么问题来了 ,百度了一圈 服务文件还是不能将窗体显示出来 ! 求解。
------解决思路----------------------
WIN7的服务程序都运行在Session 0,第一个登录的用户为Session 1, 依次类推.
要让服务程序跟桌面程序交互,可以在服务程序中, 使用CreateProcessAsUser来创建一个
在当前激活用户下面的桌面程序,
然后使用TCP,内存映射之类的进程间通讯的方式和桌面程序交互
可以参考
http://www.cnblogs.com/therock/articles/2261371.html
------解决思路----------------------
bool hasExist = false;
Process[] ps = Process.GetProcessesByName("FormA")
if(ps.Length > 0) hasExist = true;
else
{
//假设启动完整路径为 startPath
Process process = new Process();
process.StartInfo.FileName = startPath;
process.Start();
//也可结合注册表去做,像BHO组件那样
}