首页 > 解决方案 > 使用窗口消息的 Windows 服务和 Electron 本机 Windows 应用程序通信

问题描述

我有一个 Windows 服务发送 Windows 消息,例如 HWND 消息,我需要在电子应用程序上接收这些消息并执行一些操作。如何做到这一点?

该服务通过其名称找到一个窗口并将消息发送到该窗口。但是电子是如何接收该消息的呢?

以下是我的服务代码

const int wm_app = 0x0400;
int openFile = 0x065;
IntPtr hwnd = FindWindow(IntPtr.Zero, "electron Browser window name");
PostMessage(hwnd.ToInt32(), (wm_app + openFile), 0, 0);

标签: javascriptnode.jswcfelectron

解决方案


你可以给 BrowserWindow 添加一个钩子来监听 Windows 消息。

browserWindow.hookWindowMessage(0x465, (wParam, lParam) => 
    // Your function here
})

推荐阅读