簡體   English   中英

在C#中創建一個進程以接收多個Chrome本機消息

[英]Creating a single process in C# to receive multiple Chrome Native Messages

本質上,我想做的就是擁有一個始終保持打開狀態的應用程序(單個進程),並且有一個線程正在監聽Chrome的本機消息。

我目前的理解是Chrome為每個本機消息啟動一個單獨的過程。 如果要使用Mutex創建單個流程,那么我將無法將標准輸入傳遞給主流程,因為我必須先使用適當的參數再次啟動流程。 Chrome可能與此類似,因此需要多個過程。

在我看來,必須有一個中間進程通過套接字或類似的方式進行通信,以通知Chrome消息的主要進程。 是這樣嗎 有沒有辦法用一個過程來實現呢?

輸入非常感謝!

另外,Chrome似乎會以靜默方式啟動其本機消息傳遞應用程序進程(無顯示)。 這是我做錯了還是正常的?

使用chrome.runtime.connectNative,您可以創建長時間運行的本機實例。 然后,您需要在后台腳本中保留該JavaScript參考,以便您可以重用它。

manifest.json的;

"background": {"scripts": ["background.js"]},

background.js;

var nativePort = null;
function getNativePort(){
  if (nativePort == null)
    nativePort = chrome.runtime.connectNative("...");
}

如果要從內容腳本發送消息,則必須先將其轉發到后台腳本。

暫無
暫無

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

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