wilix-team / iohook

Node.js global keyboard and mouse listener.
https://wilix-team.github.io/iohook
MIT License
1.2k stars 291 forks source link

Support for electron-75 #205

Closed ykhwong closed 4 years ago

ykhwong commented 4 years ago

Description

To build iohook for electron-75, src/iohook.cc needs to be modified.

Motivation and Context

For details, please refer to https://github.com/wilix-team/iohook/issues/199

How Has This Been Tested?

Below are the commands that I tried for building iohook binaries for electron-75.

D:\iohook>electron --abi

 75

D:\iohook>electron --version

 v7.1.2

D:\iohook>node build.js --runtime electron --version 7.1.2 --abi 75
Compiling iohook for electron v7.1.2>>>>
[
  'C:\\Program Files\\nodejs\\node.exe',
  'D:\\iohook\\node_modules\\cmake-js\\bin\\cmake-js',
  'rebuild',
  '--runtime-version=7.1.2',
  '--runtime=electron',
  '--arch=x64'
]
info TOOL Using Visual Studio 15 2017 Win64 generator.
info DIST Downloading distribution files.
http DIST       - https://atom.io/download/atom-shell/v7.1.2/x64/node.lib
http DIST       - https://atom.io/download/atom-shell/v7.1.2/node-v7.1.2.tar.gz
info CMD CLEAN
info RUN cmake -E remove_directory "D:\iohook\build"
info CMD CONFIGURE
info RUN cmake "D:\iohook" --no-warn-unused-cli -G"Visual Studio 15 2017 Win64" -DCMAKE_JS_VERSION="5.1.0" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_RUNTIME_OUTPUT_DIRECTORY="D:\iohook\build" -DCMAKE_JS_INC="C:\Users\n3n\.cmake-js\electron-x64\v7.1.2\include\node;D:\iohook\node_modules\nan" -DCMAKE_JS_SRC="D:/iohook/node_modules/cmake-js/lib/cpp/win_delay_load_hook.cc" -DNODE_RUNTIME="electron" -DNODE_RUNTIMEVERSION="7.1.2" -DNODE_ARCH="x64" -DCMAKE_JS_LIB="C:\Users\n3n\.cmake-js\electron-x64\v7.1.2\x64\node.lib" -DCMAKE_SHARED_LINKER_FLAGS="/DELAYLOAD:NODE.EXE"
Not searching for unused variables given on the command line.
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.18363.
-- The C compiler identification is MSVC 19.16.27034.0
-- The CXX compiler identification is MSVC 19.16.27034.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: D:/iohook/build
info CMD BUILD
info RUN cmake --build "D:\iohook\build" --config Release

(Done)

D:\iohook>dir /b .\build\Release\*
demo_hook.exe
demo_hook_async.exe
demo_post.exe
demo_properties.exe
iohook.exp
iohook.lib
iohook.node
uiohook.dll

Checklist:

Djiit commented 4 years ago

Thank you !