Я использую функцию Electronjs getNativeWindowHandle()
, чтобы найти HWND главного окна электрона.
т.е. один журнал был: <Buffer@0x00000293A66F0450 ec 02 07 00 00 00 00 00>
Преобразовано в HEX: ec02070000000000
Но реальное значение HWND: 459500
, полученное при
handleElectron.substring(0, 6).match(/.{1,2}/g)
, чтобы получить три первые пары строки, затем
newhandle = handleElectron[2] + handleElectron[1] + handleElectron[0];
потому что на рукоятке перевернуты первые два и третьи два знака.
Затем я использую parseInt(handleElectron, 16) << 8) / 256
, чтобы получить десятичное число
Тот же результат: user32.FindWindowW(TEXT('Chrome_WidgetWin_1'), null);
(нативная функция через node-ffi),
но мне нужно поместить его в цикл while, потому что FindWindowW
иногда дает 0.
Есть ли более чистый и правильный способ преобразования результата getNativeWindowHandle()
в HWND, который можно использовать FindWindowW
или любыми другими встроенными функциями?