v8,libuv,nodejs,win32api-如何调用EnumWindows并具有回调调用javascript函数

v8, libuv, nodejs, win32 api - how to call EnumWindows and have callback call javascript function?

本文关键字:调用 EnumWindows 回调 函数 javascript nodejs libuv win32api- 何调用 v8      更新时间:2023-10-16

我正在尝试使用v8为node.js编写一个C++库。我唯一的目标是允许javascript调用EnumWindows,即win32api函数。

EnumWindows方法本身将回调函数作为参数。它将为每个枚举的窗口调用该函数,并将窗口句柄传递给它。

我正在努力使它为每个窗口句柄调用一个javascript函数。有什么办法吗?libuv看起来很有希望,但看起来我必须是创建线程的人。这里的情况并非如此。

使用uv_async_init()和uv_async_send()。您可以将自己的数据指针附加到uv_async_tdata成员(例如uv_async_t foo; foo.data = someptr;)。当用uv_async_send()向主线程发出信号时,您可以在这里存储所需的任何数据(例如,在您的情况下,有关枚举窗口的信息)。

一旦进入主线程上的uv_async回调,您就可以从同一个data成员中读取,并使用v8 API调用javascript。