UNPKG

node-windows-x64

Version:
180 lines (133 loc) 2.76 kB
## writeBytes ```js nw.writeBytes(lpAddress, 1, 2, 3, 4, 0xff); nw.writeBytes(lpAddress, [1, 2, 3, 4, 0xff]); ``` ## writeWord ```js nw.writeWord(lpAddress, 1); ``` ## writeDword ```js nw.writeDword(lpAddress, 1); ``` ## writeQword ```js nw.writeQword(lpAddress, 1); ``` ## writeFloat ```js nw.writeFloat(lpAddress, 1.2); ``` ## writeDouble ```js nw.writeDouble(lpAddress, 1.2); ``` ## readwriteRegionToFile ```js const newmem = nw.alloc({ size: 20, }) nw.writeStr(newmem, "save file.") nw.readwriteRegionToFile("C:\\Users\\ajanuw\\Desktop\\save.txt", newmem, 20); nw.free(newmem); ``` ## readBytes ```js const newmem = nw.alloc({ size: 20, }) nw.writeStr(newmem, "abcd") let bytes = nw.readBytes(newmem, 3); console.log(bytes); // [ 97, 98, 99 ] nw.free(newmem); ``` ## readWord ```js const newmem = nw.alloc({ size: 20, }) nw.writeStr(newmem, "abcd") let bytes = nw.readWord(newmem); console.log(bytes.toString('16')); // 6261 nw.free(newmem); ``` ## readDword ```js nw.readDword(newmem) ``` ## readQword ```js nw.readQword(newmem) ``` ## readPointer ```js nw.readPointer(newmem) ``` ## readFloat ```js nw.readFloat(newmem) ``` ## readDouble ```js nw.readDouble(newmem) ``` ## readStr ```js nw.readStr(newmem) nw.readStr(newmem, null, true) ``` ## readRegionFromFile ```js const newmem = nw.alloc({ size: 20, }) nw.readRegionFromFile("C:\\Users\\ajanuw\\Desktop\\中文.txt", newmem); console.log( nw.readStr(newmem) ) nw.free(newmem); ``` ## use CEAddressString Example ```js const strMem = nw.alloc(100); nw.writeStr(strMem, "node-windows-x64"); const addr = nw.alloc(1024); nw.registerSymbol("newmem", addr); nw.writeDword("newmem", 1); nw.writeDword("newmem+4", 2); nw.writeQword("newmem+8", strMem); console.log(nw.readDword("newmem")); // 1 console.log(nw.readDword("newmem+4")); //2 console.log(nw.readStr("[newmem+8]")); // node-windows-x64 nw.free(strMem); nw.free("newmem"); nw.unregisterSymbol("newmem"); nw.registerSymbol("中文", 2); nw.getAddress(` "中文" + 2 `); // 4 nw.unregisterSymbol("中文"); nw.getAddress(` 1 + 2 * 3 `); // 7 nw.getAddress(` (1 + 2) * 3 `); // 9 nw.getAddress(` "2 * 2" + 1 `) // 5 ``` ## 有符号位整数 ```js nw.readSmallInteger nw.readSmallIntegerEx nw.readInteger nw.readIntegerEx nw.writeSmallInteger nw.writeSmallIntegerEx nw.writeInteger nw.writeIntegerEx ``` ```js const newmem = nw.alloc(1024) nw.writeInteger(newmem, -10); nw.writeInteger(newmem + 4, -20); // 4 bytes nw.writeSmallInteger(newmem + 8, -30); nw.writeSmallInteger(newmem + 10, -40); // 2 bytes l(nw.readInteger(newmem)); // -10 l(nw.readInteger(newmem + 4)); // -20 l(nw.readSmallInteger(newmem + 8)); // -30 l(nw.readSmallInteger(newmem + 10)); // -40 nw.free(newmem); ```