C#中Process.GetProcessesByName的问题
初学C#,向各位高手请教如下问题:为什么我在执行Application.Restart();后,再用Process.GetProcessesByName("ProgNam...
初学C#,向各位高手请教如下问题:
为什么我在执行Application.Restart();后,再用Process.GetProcessesByName("ProgName")得到两个对象,而不是一个?
请高手指教!多谢!
为了保证同时只有一个程序运行加了一些相关代码.现在想实现重新登录的功能,直接用了一句Application.Restart()重启程序以转向登录窗口,可是转向时却出现了"该程序正在运行,双击右下角托盘即可显示!"的提示,不知是何原因.
经过输出显示,Process.GetProcessesByName("ProgName")在Application.Restart();执行后存在两个不同Id的Process.
另:如果不用这种方法,还有别的更好的办法吗?请高手不吝赐教! 展开
为什么我在执行Application.Restart();后,再用Process.GetProcessesByName("ProgName")得到两个对象,而不是一个?
请高手指教!多谢!
为了保证同时只有一个程序运行加了一些相关代码.现在想实现重新登录的功能,直接用了一句Application.Restart()重启程序以转向登录窗口,可是转向时却出现了"该程序正在运行,双击右下角托盘即可显示!"的提示,不知是何原因.
经过输出显示,Process.GetProcessesByName("ProgName")在Application.Restart();执行后存在两个不同Id的Process.
另:如果不用这种方法,还有别的更好的办法吗?请高手不吝赐教! 展开
3个回答
展开全部
Application.Restart();
Process.GetProcessesByName("ProgName")
两个没关系的
Process.GetProcessesByName("ProgName")反回的就是个数组
进程里名字不是唯一的呀
Process.GetProcessesByName("ProgName")
两个没关系的
Process.GetProcessesByName("ProgName")反回的就是个数组
进程里名字不是唯一的呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
再这两个语句之间加一个显式的回收
System.GC.Collect();
一般来讲这是可以实现的。
除非你的程序中本身就有两个同名进程。
System.GC.Collect();
一般来讲这是可以实现的。
除非你的程序中本身就有两个同名进程。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有重名的进程,或许你Restart还没立刻结束掉该进程,
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询