Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法使用用户定义的按钮关闭窗口应用程序,从窗口服务调用应用程序的最佳过程是什么_C#_.net_Service - Fatal编程技术网

C# 无法使用用户定义的按钮关闭窗口应用程序,从窗口服务调用应用程序的最佳过程是什么

C# 无法使用用户定义的按钮关闭窗口应用程序,从窗口服务调用应用程序的最佳过程是什么,c#,.net,service,C#,.net,Service,我是c#developer的新手,我试图用以下代码关闭我的窗口应用程序。我隐藏表单的关闭按钮,并添加用户定义的按钮来关闭应用程序 private void closeBtn_Click(object sender, EventArgs e) { System.Environment.Exit(0); //Environment.Exit(1); //Application.Exit();

我是c#developer的新手,我试图用以下代码关闭我的窗口应用程序。我隐藏表单的关闭按钮,并添加用户定义的按钮来关闭应用程序

 private void closeBtn_Click(object sender, EventArgs e)
        {
            System.Environment.Exit(0);
            //Environment.Exit(1);
            //Application.Exit();
            //this.Close();
        }
但进程仍在任务管理器上运行。实际上我是从窗口服务调用这个应用程序的。但应用程序未正确关闭

private void callback(Object state)
        {
    string strAppPath;
                        strAppPath = @"D:\VSPythonProject\Reminder_WApp\Reminder_WApp\bin\Debug\Reminder_WApp.exe"; //System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles) + 
                        System.Diagnostics.Process.Start(strAppPath);

                        ApplicationLoader.PROCESS_INFORMATION procInfo;
                        ApplicationLoader.StartProcessAndBypassUAC(strAppPath, out procInfo);
    }

检查
ApplicationLoader
事件。那个电话打了两次

对于关闭应用程序,请使用以下代码:

System.Windows.Forms.Application.Exit();
而不是

System.Environment.Exit(0);
要关闭正在运行的线程,请使用:

System.Windows.Forms.Application.ExitThread( );
要关闭运行窗体,请使用:

this.close();
对于控制台应用程序使用:

System.Environment.Exit(0);

现在申请关闭,因为我在服务中有错误。我打了两次电话。系统.诊断.过程.启动(路径);我在service.Ok中评论这行。我已经更新了我的答案。是的,你是对的。。。应用程序一次启动两次。