[英]Using Asp.Net Core, how can I open a view as a new browser tab, and then close it again later
[英]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 應用程序):
"C:\Server\APP.exe"
。 您可以使用System.Diagnostics.Process.Start(@"C:\Server\APP.exe");
在事件處理程序中啟動進程。 請注意,此方法將返回可用於關閉應用程序的Process
object。"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.