簡體   English   中英

當我打開 CefSharp(winform) 瀏覽器並在退出時關閉它時,如何啟動/調用 Asp.net 核心應用程序?

[英]How to start/call an Asp.net core app when i open CefSharp(winform) browser and close it on exit?

使用的工具:Visual Studio 2019、Asp.net core 5.0、CefSharp.WinForms v79.0

我創建了一個 asp.net 核心應用程序和一個 CefSharp 瀏覽器。

如果我點擊 app.core 然后在瀏覽器上它工作正常。

我想要某種“自動化”整個過程。

如何在 CefSharp 完全加載/啟動之前啟動 Asp.net 核心應用程序。

這可以在 CefSharp 瀏覽器中完成嗎?

所以它會自動打開 app.core 並在 CefSharp 關閉時關閉它?

我已經可以通過命令行來做到這一點:

tasklist /fi "imagename eq APP.exe" |find ":" > nul

if errorlevel 1 taskkill /F /IM "APP.exe"

start C:\Server\APP.exe 

start C:\CEFSHARP\GUI.exe

您可以從 GUI.EXE 中啟動和停止進程"C:\Server\APP.exe" GUI.EXE這是假設您有GUI.EXE的源代碼

您需要在GUI.EXE源代碼中執行以下操作(這里我假設您使用的是 Windows Forms 應用程序):

  1. Load事件處理程序添加到您的主窗體。 從您的事件處理程序中,您需要啟動"C:\Server\APP.exe" 您可以使用System.Diagnostics.Process.Start(@"C:\Server\APP.exe"); 在事件處理程序中啟動進程。 請注意,此方法將返回可用於關閉應用程序的Process object。
  2. Closing事件處理程序添加到您的主窗體。 在您的事件處理程序中,您將需要停止"C:\Server\APP.exe"您可以通過進程 object 的CloseMainWindow方法執行此操作。

這對我有用:

Form1.cs

        private void Form1_Load(object sender, EventArgs e)
    {
        Process[] processName = Process.GetProcessesByName("APP");
        if (processName.Length == 0)
        {
            Process myprocess = new Process();
            myprocess.StartInfo.FileName = "C:\\Server\\APP.exe";
            myprocess.Start();
        }
    }



        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
    {
        foreach (Process p in Process.GetProcessesByName("APP"))
        {
            p.Kill();
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM