dm.dll
基于大漠插件封装的JS版按键精灵!从此可以用JS写自动脚本了~
使用
建议使用typescript来调用本插件,插件内置了很多有用类型,你可以获得更好的代码提示
请务必使用管理员身份运行node,因为大漠插件的注册和某些后台绑定模式需要管理员权限
环境
-
windows平台
-
预装windows-build-tools编译环境
// 管理员身份运行 npm install --global --production windows-build-tools --add-python-to-path
安装
npm install dm.dll --save
API
本插件的api基本同大漠说明文档保持一致,稍有改动的部分也会在后文指出,所以你可以对照它来查看对应api的详细说明
目前只封装了大漠插件最常用的功能,API太多,待整理...不过如果你需要的api本插件没有提供,你可以通过如下方式直接调用大漠插件的api
// node
// const dm = require('dm.dll')
// typescript
import dm = require('dm.dll')
console.log(dm.dll.ver())
基本设置
- getPath (): string
- setPath (path: string): DmRet
- setErrorDisplay (flag: ErrorDisplay): DmRet
同大漠插件的SetShowErrorMsg
窗口
- findWindow (className: string, title: string, parentHWnd?: number): number | undefined
增强了原生findWindow的功能,你可以直接传入一个父窗口句柄来查找子窗口句柄
- enumWindow (className: string, title: string, filter: number, parentHWnd = 0): number[]
- getWindow (hWnd: number, flag: GetWindowFlag): number
- getPointWindow (x: number, y: number): number
- getClientSize (hWnd: number): Size
- moveWindow (hWnd: number, x: number, y: number): DmRet
- setWindowSize (hWnd: number, width: number, height: number): DmRet
- setWindowState (hWnd: number, state: WindowState): DmRet
- sendPaste (hWnd: number): DmRet
- sendString (hWnd: number, content: string): DmRet
后台
- bindWindow (hWnd: number, display: DisplayType, mouse: MouseType, keypad: KeypadType, mode: 0 | 2 | 4): DmRet
- unBindWindow (): DmRet
键鼠
- setMouseRange (x1: number, y1: number, x2: number, y2: number): void
不同于dm.dll.LockMouseRect该方法只会限制moveTo的活动范围,不传参则取消限制
- getCursorPos (): Coordinate
- getKeyState (keyCode: number): KeyState
- moveTo (x: number, y: number): DmRet
- leftClick (): DmRet
- leftDoubleClick (): DmRet
- leftDown (): DmRet
- leftUp (): DmRet
- rightClick (): DmRet
- rightDown (): DmRet
- rightUp (): DmRet
- wheelDown (): DmRet
- wheelUp (): DmRet
- keyPress (keyCode: number): DmRet
- keyDown (keyCode: number): DmRet
- keyUp (keyCode: number): DmRet
图色
- capture (x1: number, y1: number, x2: number, y2: number, fileName: string)
- findPic (x1: number, y1: number, x2: number, y2: number, picName: string, deltaColor: string, sim: number, dir: FindPicDir): FindRet | undefined
- findPicEx (x1: number, y1: number, x2: number, y2: number, picName: string, deltaColor: string, sim: number, dir: FindPicDir): FindRet[]
- getColor (x: number, y: number): string
- getColorNum (x1: number, y1: number, x2: number, y2: number, color: string, sim: number): number
- getAveRGB (x1: number, y1: number, x2: number, y2: number): string
- findColor (x1: number, y1: number, x2: number, y2: number, color: string, sim: number, dir: FindDir): Coordinate | undefined
文字识别
- getNowDict (): number
- setDict (index: number, file: string): DmRet
- findStr (x1: number, y1: number, x2: number, y2: number, string: string, colorFormat: string, sim: number): FindRet | undefined
- ocr (x1: number, y1: number, x2: number, y2: number, colorFormat: string, sim: number): string
- getWords (x1: number, y1: number, x2: number, y2: number, colorFormat: string, sim: number): OcrRet | undefined
系统
- getScreenSize (): Size
获取屏幕大小,该函数合并了GetScreenWidth和GetScreenHeight