26.0.3 • Published 10 months ago

win32-def v26.0.3

Weekly downloads
115
License
MIT
Repository
github
Last release
10 months ago

win32-api

Definitions of Windows Date Types for node-ffi, node-ffi-napi

GitHub tag License npm.io Available platform ci Build status codecov Conventional Commits lerna

Initialization

npm run repo:init

Packages

PackageVersion
win32-apimain-svg
win32-defdef-svg

What can I do with this?

Write node-ffi or node-ffi-napi calling win32 native functions code by Typescript with Types support.

Installing

npm install win32-def

Usage

FFI

import * as ffi from 'ffi-napi'
import { DModel as M, DTypes as W, FModel as FM } from 'win32-def'

export interface Win32Fns extends FM.DllFuncsModel {
  ClientToScreen(hWnd: M.HWND, lpPoint: M.LPPOINT): M.BOOL
  GetAncestor(hwnd: M.HWND, gaFlags: M.UINT): M.HWND
}

export const user32: Win32Fns = ffi.Library('user32.dll', {
  ClientToScreen: [W.BOOL, [W.HWND, W.LPPOINT] ],
  GetAncestor: [W.HWND, [W.HWND, W.UINT] ],
})
import * as ffi from 'ffi-napi'
import { DModel as M, DTypes as W, FModel as FM } from 'win32-def'

export interface Win32Fns extends FM.DllFuncsModel {
  ClientToScreen(hWnd: M.HWND, lpPoint: M.LPPOINT): M.BOOL
  GetAncestor(hwnd: M.HWND, gaFlags: M.UINT): M.HWND
}

export const user32: FM.ExpandFnModel<Win32Fns> = ffi.Library('user32.dll', {
  ClientToScreen: [W.BOOL, [W.HWND, W.LPPOINT] ],
  GetAncestor: [W.HWND, [W.HWND, W.UINT] ],
})

// You can calling with BOTH sync and async method
const hWnd = user32.GetAncestor(hWnd, uint)
user32.GetAncestor.async(handle, uint, (err, hWnd) => {
  // typeof hWnd will be the same of ReturnType of sync method
  if (err) {
    throw err
  }
  if (hWnd && !ref.isNull(hWnd) && ref.address(hWnd)) {
    // ...
  }
  else {
    throw new Error('hWnd invalid')
  }
})

Relevant

License

MIT

Languages

26.0.3

10 months ago

23.0.0

1 year ago

22.2.0

1 year ago

22.0.0

1 year ago

22.4.0

1 year ago

21.0.2

1 year ago

21.0.0

1 year ago

22.3.0

1 year ago

26.0.2

1 year ago

26.0.1

1 year ago

26.0.0

1 year ago

22.7.3

1 year ago

22.7.2

1 year ago

22.7.1

1 year ago

22.5.1

1 year ago

25.0.0

1 year ago

20.5.0

1 year ago

24.0.0

1 year ago

20.4.1

2 years ago

20.4.0

2 years ago

20.3.0

2 years ago

19.8.3

3 years ago

20.0.0

3 years ago

19.0.0

3 years ago

10.0.0

3 years ago

13.7.0

3 years ago

13.5.0

3 years ago

13.3.0

3 years ago

18.4.0

3 years ago

19.4.0

3 years ago

13.1.0

3 years ago

19.6.0

3 years ago

19.8.1

3 years ago

18.0.0

3 years ago

19.8.0

3 years ago

13.12.0

3 years ago

17.1.1

3 years ago

12.0.0

3 years ago

17.1.0

3 years ago

11.0.2

3 years ago

11.0.0

3 years ago

19.3.0

3 years ago

15.0.0

3 years ago

13.8.0

3 years ago

13.6.0

3 years ago

13.4.0

3 years ago

13.2.0

3 years ago

14.0.0

3 years ago

13.0.0

3 years ago

18.3.0

3 years ago

18.1.0

3 years ago

13.11.0

3 years ago

17.2.1

3 years ago

17.2.0

3 years ago

17.0.0

3 years ago

13.13.0

3 years ago

16.0.0

3 years ago

11.1.0

3 years ago

9.4.0

5 years ago

9.3.0

5 years ago

9.2.0

5 years ago

9.1.0

5 years ago

9.0.0

5 years ago

7.1.0

5 years ago

8.0.0

5 years ago

7.0.0

6 years ago

3.3.0

6 years ago

3.2.0

6 years ago

3.1.0

6 years ago

3.0.0

6 years ago

2.8.1

6 years ago

2.8.0

6 years ago

2.7.0

6 years ago

2.6.0

6 years ago

2.5.0

6 years ago

2.4.4

6 years ago

2.4.3

6 years ago

2.4.2

7 years ago

2.4.1

7 years ago

2.4.0

7 years ago

2.3.0

7 years ago

2.2.0

7 years ago

2.1.1

7 years ago

2.1.0

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

2.0.0

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago