进程问题

fantasykakaxi 2017-10-19 09:55:46

Process[] pProcess;
pProcess = Process.GetProcesses();
for (int i = 1; i <= pProcess.Length - 1; i++)
{
if (pProcess[i].ProcessName == "test")
{
pProcess[i].Kill();
break;
}
}
System.Diagnostics.Process.Start(Application.StartupPath + @"\pay\bin\Debug\test.exe");
pProcess = Process.GetProcesses();
for (int i = 1; i <= pProcess.Length - 1; i++)
{
if (pnProcess[i].ProcessName == "test")
{
pProcess[i].Kill();
break;
}
}


老哥们 我的思路是 先遍历一遍进程 存在test就关闭test 然后 开启test test运行结束关闭 在循环一遍进程 如果存在test就关闭它

问题来了 点击按钮调用这个函数 没有反应 注释掉后面的那个循环 就能打开test窗体

求帮忙
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantasykakaxi 2017-11-02
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
[quote=引用 4 楼 fantasykakaxi 的回复:] [quote=引用 3 楼 duanzi_peng 的回复:] 点击按钮调用这个函数 没有反应 -》不是没反应,而是还没有打开就被kill了吧。
对的 就这个意思 我表达有问题 我知道逻辑有问题 但怎么改啊[/quote] 大概就是类似:

 internal static async void DealProcess() {
            //TODO:杀死process
            await Task.Factory.StartNew(() => {
                //启动 process
                System.Diagnostics.Process.Start(xxx);
                Task.Delay(2000).Wait();
            });
            pProcess = Process.GetProcesses();
           //TODO:杀死process
        }
[/quote] 今天试了试 加上了一个关闭判断 还有这句 System.Diagnostics.Process.Start(xxx).WaitForExit()就好啦
exception92 2017-10-20
  • 打赏
  • 举报
回复
引用 4 楼 fantasykakaxi 的回复:
[quote=引用 3 楼 duanzi_peng 的回复:] 点击按钮调用这个函数 没有反应 -》不是没反应,而是还没有打开就被kill了吧。
对的 就这个意思 我表达有问题 我知道逻辑有问题 但怎么改啊[/quote] 大概就是类似:

 internal static async void DealProcess() {
            //TODO:杀死process
            await Task.Factory.StartNew(() => {
                //启动 process
                System.Diagnostics.Process.Start(xxx);
                Task.Delay(2000).Wait();
            });
            pProcess = Process.GetProcesses();
           //TODO:杀死process
        }
fantasykakaxi 2017-10-20
  • 打赏
  • 举报
回复
引用 3 楼 duanzi_peng 的回复:
点击按钮调用这个函数 没有反应 -》不是没反应,而是还没有打开就被kill了吧。
对的 就这个意思 我表达有问题 我知道逻辑有问题 但怎么改啊
exception92 2017-10-20
  • 打赏
  • 举报
回复
点击按钮调用这个函数 没有反应 -》不是没反应,而是还没有打开就被kill了吧。
fantasykakaxi 2017-10-20
  • 打赏
  • 举报
回复
引用 1 楼 xiaoyao18301 的回复:
如果是自己把自己杀死,怎么反应?
就是自己把自己杀死了 点button没效果啊
xiaoyao18301 2017-10-20
  • 打赏
  • 举报
回复
如果是自己把自己杀死,怎么反应?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧