{"_id":"@bun-win32/user32","_rev":"14-8e0f1064ab7e2172a946285ed17b2dcd","name":"@bun-win32/user32","dist-tags":{"latest":"4.0.1"},"versions":{"3.0.12":{"name":"@bun-win32/user32","version":"3.0.12","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.12","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/obscuritysrl/bun-user32#readme","bugs":{"url":"https://github.com/obscuritysrl/bun-user32/issues"},"dist":{"shasum":"9b53240c0ecee9dbf9030621467142ad62635b91","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.12.tgz","fileCount":6,"integrity":"sha512-vGKTy0+tGRHilCtRTc5vIFjBeCaRhrdU/xmJDcwUXWKOS7dfltJTC6PxvAk4Eqy0rlLWWSXYk29UgEYssy9yOA==","signatures":[{"sig":"MEYCIQC2BncjQ+3ySyvxgQlxH6b2FSlWGY9MxXTbEmK+i+poKgIhALwOiXOVJlO+QS1HrO/AkvjrKAIlbHolgmRd2DLKOSFy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239162},"main":"./index.ts","type":"module","module":"index.ts","shasum":"9b53240c0ecee9dbf9030621467142ad62635b91","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/user32.ts","example:mouse":"bun ./example/mouse-stalker.ts","example:hotkey":"bun ./example/hotkey-demo.ts","example:countdown":"bun ./example/countdown-dialog.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-vGKTy0+tGRHilCtRTc5vIFjBeCaRhrdU/xmJDcwUXWKOS7dfltJTC6PxvAk4Eqy0rlLWWSXYk29UgEYssy9yOA==","repository":{"url":"git://github.com/obscuritysrl/bun-user32.git","type":"git"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.12_1775355803181_0.3325957650181648","host":"s3://npm-registry-packages-npm-production"}},"3.0.13":{"name":"@bun-win32/user32","version":"3.0.13","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.13","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/bun-win32/user32#readme","bugs":{"url":"https://github.com/bun-win32/user32/issues"},"dist":{"shasum":"a1c936342f6895d245bcd1a1e9d7ad1b31d84726","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.13.tgz","fileCount":6,"integrity":"sha512-1SOrLoljy9GJoO37gplbYTAt3arGcAcwCh9NT4jfOx1koAO1FS5RIMt1IMEfi1evFWwq2LpGSZAlsGqQKUZW+A==","signatures":[{"sig":"MEUCICm73+nJZM9FHWo6eiWFNMCmbSCmIMBtlWcVDh/W3ukcAiEAt0Zw3257SRP6ihUqvJv2CV7TxjKviU43MFW9Lfr0CGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":239176},"main":"./index.ts","type":"module","module":"index.ts","shasum":"a1c936342f6895d245bcd1a1e9d7ad1b31d84726","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/user32.ts","example:mouse":"bun ./example/mouse-stalker.ts","example:hotkey":"bun ./example/hotkey-demo.ts","example:countdown":"bun ./example/countdown-dialog.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-1SOrLoljy9GJoO37gplbYTAt3arGcAcwCh9NT4jfOx1koAO1FS5RIMt1IMEfi1evFWwq2LpGSZAlsGqQKUZW+A==","repository":{"url":"git://github.com/bun-win32/user32.git","type":"git"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.13_1775356705486_0.14442214048591273","host":"s3://npm-registry-packages-npm-production"}},"3.0.14":{"name":"@bun-win32/user32","version":"3.0.14","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.14","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/bun-win32/user32#readme","bugs":{"url":"https://github.com/bun-win32/user32/issues"},"dist":{"shasum":"1c02fb45f67b653423c3687c01d431c48c7f05b6","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.14.tgz","fileCount":6,"integrity":"sha512-tPx+YnMusZDXSsyiARSe93oaBpftQ2jnkdK5Lfnz1xoWO2WlTJkOKQYH2p7ncl7KnUV2gz8c6uvR/yVlpSftIA==","signatures":[{"sig":"MEQCIHEUeav4tjMEnn0J4bJtdYw6U4nwG3DKbpYB7x9DP+icAiAw9446tvEc+YlFHihFqz8iR2JguzrHFtX29ku08x1E+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238371},"main":"./index.ts","type":"module","module":"index.ts","shasum":"1c02fb45f67b653423c3687c01d431c48c7f05b6","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/user32.ts","example:mouse":"bun ./example/mouse-stalker.ts","example:hotkey":"bun ./example/hotkey-demo.ts","example:countdown":"bun ./example/countdown-dialog.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-tPx+YnMusZDXSsyiARSe93oaBpftQ2jnkdK5Lfnz1xoWO2WlTJkOKQYH2p7ncl7KnUV2gz8c6uvR/yVlpSftIA==","repository":{"url":"git://github.com/bun-win32/user32.git","type":"git"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.14_1775357808840_0.6356306939858485","host":"s3://npm-registry-packages-npm-production"}},"3.0.16":{"name":"@bun-win32/user32","version":"3.0.16","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.16","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"bf0941881151ae9089f613cbbcb398fd7f91f6a3","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.16.tgz","fileCount":5,"integrity":"sha512-/4dReq7qm3ULM9johmJiFkdsKqQUUvxhQ9XTHkZemZrahJZJGWG5k3hbtMl1vOJ9naFYSJu4gf65xUCK3L0OlA==","signatures":[{"sig":"MEUCIFvzJFt+nt03Lk2k710m8WkDRyBvtXVQrKissYsh9tT5AiEAr+k2J+OfnNLjcHCHvj1EVjrwK43/V4z4Msb5gB4tPb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229864},"main":"./index.ts","type":"module","module":"index.ts","shasum":"bf0941881151ae9089f613cbbcb398fd7f91f6a3","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/user32.ts","example:mouse":"bun ./example/mouse-stalker.ts","example:hotkey":"bun ./example/hotkey-demo.ts","example:countdown":"bun ./example/countdown-dialog.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-/4dReq7qm3ULM9johmJiFkdsKqQUUvxhQ9XTHkZemZrahJZJGWG5k3hbtMl1vOJ9naFYSJu4gf65xUCK3L0OlA==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.16_1775407797251_0.6747460560097296","host":"s3://npm-registry-packages-npm-production"}},"3.0.17":{"name":"@bun-win32/user32","version":"3.0.17","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.17","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"06b74eb5cc4686656ca1abd7ba71e7147fdf6d92","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.17.tgz","fileCount":6,"integrity":"sha512-hDfTJ73ZIRZsu3MVY4ST/40POxdVnHxf1liX9TRbE18sdm7wBhAuz6rW4WgJgmVbB0SY4RuYtvYCOXllwNu3hw==","signatures":[{"sig":"MEUCIBk50TMrP2tXSY0qgnoSpXHEHGkLzL6RbBuhJ9s7Yd/dAiEA0vMf58ecqkQEVz8PdKiPbSWPuXspcCyZvAZwSOYVXUE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228556},"main":"./index.ts","type":"module","module":"index.ts","shasum":"06b74eb5cc4686656ca1abd7ba71e7147fdf6d92","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/user32.ts","example:mouse":"bun ./example/mouse-stalker.ts","example:hotkey":"bun ./example/hotkey-demo.ts","example:countdown":"bun ./example/countdown-dialog.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-hDfTJ73ZIRZsu3MVY4ST/40POxdVnHxf1liX9TRbE18sdm7wBhAuz6rW4WgJgmVbB0SY4RuYtvYCOXllwNu3hw==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.17_1775514769745_0.562393992182139","host":"s3://npm-registry-packages-npm-production"}},"3.0.18":{"name":"@bun-win32/user32","version":"3.0.18","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":{"name":"Stev Peifer","email":"stev@bell.net"},"license":"MIT","_id":"@bun-win32/user32@3.0.18","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"bd40120883533184e6eb4fb650dc63f5bb8e397d","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.18.tgz","fileCount":6,"integrity":"sha512-06+RXrN1UjRaLs6cybZ8Bqp9qZibKfQEq33G0YEmH2Bi0NSu+VRA8NlnXAu1tAZ3rVZXWWmgUeTXwu7t8fdGDA==","signatures":[{"sig":"MEYCIQDEEHgoiZ4QgSj+H0PyNb+0JIlYIUouWOJsnhDUbHoOlgIhANG/i5cVe3QxTfZ5mXRGPHmSpjIm0RlTZI7v7KjD9Y7A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228902},"main":"./index.ts","type":"module","module":"index.ts","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"gitHead":"f86f0df557aa6cfee8907bf3af5592855a854c15","private":false,"scripts":{"example":"bun ./example/user32.ts","example:mouse":"bun ./example/mouse-stalker.ts","example:hotkey":"bun ./example/hotkey-demo.ts","example:countdown":"bun ./example/countdown-dialog.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.1.0","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"20.8.0","dependencies":{"@bun-win32/core":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.18_1775584529431_0.39528397010593674","host":"s3://npm-registry-packages-npm-production"}},"3.0.19":{"name":"@bun-win32/user32","version":"3.0.19","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.19","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"5d3b5ecef0769ded41d99c5cee1e43696e572671","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.19.tgz","fileCount":6,"integrity":"sha512-g2nkU/hquovYXEIo5ocfVYhUfwYIeRDm3YiQwCdWXvGn5QTbgchZMJSp/gycGzNy5EEEcNDUEfac8p+XOyoGeg==","signatures":[{"sig":"MEQCICzIfV9T82ffuh8/21QgkOcNty3f/f6ktO6OA5LMXzF0AiBT6wciLBjJv/RLeiotOGUSDrE6GnxlvwAK9k/7ZE1Ovg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":228949},"main":"./index.ts","type":"module","module":"index.ts","shasum":"5d3b5ecef0769ded41d99c5cee1e43696e572671","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example":"bun ./example/user32.ts","example:mouse":"bun ./example/mouse-stalker.ts","example:hotkey":"bun ./example/hotkey-demo.ts","example:countdown":"bun ./example/countdown-dialog.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-g2nkU/hquovYXEIo5ocfVYhUfwYIeRDm3YiQwCdWXvGn5QTbgchZMJSp/gycGzNy5EEEcNDUEfac8p+XOyoGeg==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.19_1775616201261_0.9251251426125568","host":"s3://npm-registry-packages-npm-production"}},"3.0.20":{"name":"@bun-win32/user32","version":"3.0.20","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.20","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"11680137ca709cc84a7793da1bb5331408d733d4","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.20.tgz","fileCount":6,"integrity":"sha512-s4D524AOVl4ncQ1qcb74sEIdEoGda8XpUfsb+/Dxb+iYgAUiIWRQb+nkHmhFc1l7kZHvgvZf4WpBq+s5VO8BOg==","signatures":[{"sig":"MEQCICSM4QEzT5KIL9WKYqeDbUqvKRDtQvilvAju+zk6e8c9AiAk9gDAPPfBoe3YkSmqtBp1PPt4XIxxMZboLEAVnXO4MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229168},"main":"./index.ts","type":"module","module":"index.ts","shasum":"11680137ca709cc84a7793da1bb5331408d733d4","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:mouse-trail":"bun ./example/mouse-trail.ts","example:desktop-audit":"bun ./example/desktop-audit.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-s4D524AOVl4ncQ1qcb74sEIdEoGda8XpUfsb+/Dxb+iYgAUiIWRQb+nkHmhFc1l7kZHvgvZf4WpBq+s5VO8BOg==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.1"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.20_1775687614128_0.9783089922541226","host":"s3://npm-registry-packages-npm-production"}},"3.0.21":{"name":"@bun-win32/user32","version":"3.0.21","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev@bell.net>","license":"MIT","_id":"@bun-win32/user32@3.0.21","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"836723d98deed5f5695a880599423b427eb0193c","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.21.tgz","fileCount":6,"integrity":"sha512-uSpACQgUFXHBbbVZvlK39a3XoL1D3vdx7byZ2OZGJFsKa4FQXebGTfJ65+dsFogVhZzl4mBPgASHfFGScNuV+Q==","signatures":[{"sig":"MEUCIQC8dxPn5mHlZOyOw41PUqE41aj6x9yd93nprfYEfAgOLAIgA6hbUA/Hx68jrqTiRhucEHF97VPRX8sNsy0OuIfSA6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229245},"main":"./index.ts","type":"module","module":"index.ts","shasum":"836723d98deed5f5695a880599423b427eb0193c","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:mouse-trail":"bun ./example/mouse-trail.ts","example:desktop-audit":"bun ./example/desktop-audit.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-uSpACQgUFXHBbbVZvlK39a3XoL1D3vdx7byZ2OZGJFsKa4FQXebGTfJ65+dsFogVhZzl4mBPgASHfFGScNuV+Q==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.21_1780581926168_0.0677604840588728","host":"s3://npm-registry-packages-npm-production"}},"3.0.22":{"name":"@bun-win32/user32","version":"3.0.22","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","_id":"@bun-win32/user32@3.0.22","maintainers":[{"name":"obscuritysrl","email":"stev@bell.net"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"23b10a0911e89de67d173762225848c1c83bf9de","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-3.0.22.tgz","fileCount":6,"integrity":"sha512-fEgyMqsGu7lBEa/ew5CNO1HLdKKrcIwvrVTZUCxvFT9V6meTgD5OZXhOYjiCzdd+IhYn//q73yD4xqN7K88Uxg==","signatures":[{"sig":"MEUCIQCWxK9WDUXWYdoP5yg15eN9Fwbsy+tqQKPUjVCnTVxBAwIgdHqyF06yaZgIT2z1VCF9aPJ1ISKehFqbVs42qCG+ZIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233090},"main":"./index.ts","type":"module","module":"index.ts","shasum":"23b10a0911e89de67d173762225848c1c83bf9de","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:mouse-trail":"bun ./example/mouse-trail.ts","example:desktop-audit":"bun ./example/desktop-audit.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev@bell.net"},"_integrity":"sha512-fEgyMqsGu7lBEa/ew5CNO1HLdKKrcIwvrVTZUCxvFT9V6meTgD5OZXhOYjiCzdd+IhYn//q73yD4xqN7K88Uxg==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"24.3.0","dependencies":{"@bun-win32/core":"1.1.4"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_3.0.22_1781375541380_0.29743917836836564","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"@bun-win32/user32","version":"4.0.0","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","_id":"@bun-win32/user32@4.0.0","maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dist":{"shasum":"406c1635d3cb9401062da6903830095a579e332b","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-4.0.0.tgz","fileCount":6,"integrity":"sha512-/xtnSTXPm0YExs5UWYoPdJ5JzK5ngxGMUXgZuY/QBCi/gV3FQbey415CZKHCoP1Yii02i3kkoKQO1BxtlK+Sng==","signatures":[{"sig":"MEYCIQDatUiJdvj1LiTcbvcxPV3Cvl7vNDnwyse+HadF8ruf/QIhAKsgT7ARWCIf21lezKbMFKA6IbJt8WDfeHN8tM8fYtpm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233318},"main":"./index.ts","type":"module","module":"index.ts","shasum":"406c1635d3cb9401062da6903830095a579e332b","engines":{"bun":">=1.1.0"},"exports":{".":"./index.ts"},"private":false,"scripts":{"example:mouse-trail":"bun ./example/mouse-trail.ts","example:desktop-audit":"bun ./example/desktop-audit.ts"},"_npmUser":{"name":"obscuritysrl","email":"stev.p@outlook.com"},"_integrity":"sha512-/xtnSTXPm0YExs5UWYoPdJ5JzK5ngxGMUXgZuY/QBCi/gV3FQbey415CZKHCoP1Yii02i3kkoKQO1BxtlK+Sng==","repository":{"url":"git://github.com/ObscuritySRL/bun-win32.git","type":"git","directory":"packages/user32"},"_npmVersion":"10.8.3","description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","directories":{},"sideEffects":false,"_nodeVersion":"26.3.0","dependencies":{"@bun-win32/core":"2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/bun":"latest"},"peerDependencies":{"typescript":"^5"},"_npmOperationalInternal":{"tmp":"tmp/user32_4.0.0_1782435973289_0.7982694157703973","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"author":"Stev Peifer <stev.p@outlook.com>","bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"dependencies":{"@bun-win32/core":"2.0.1"},"description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","devDependencies":{"@types/bun":"latest"},"exports":{".":"./index.ts"},"license":"MIT","module":"index.ts","name":"@bun-win32/user32","peerDependencies":{"typescript":"^5"},"private":false,"homepage":"https://github.com/ObscuritySRL/bun-win32#readme","repository":{"type":"git","url":"git://github.com/ObscuritySRL/bun-win32.git","directory":"packages/user32"},"type":"module","version":"4.0.1","main":"./index.ts","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"sideEffects":false,"engines":{"bun":">=1.1.0"},"scripts":{"example:mouse-trail":"bun ./example/mouse-trail.ts","example:desktop-audit":"bun ./example/desktop-audit.ts"},"_id":"@bun-win32/user32@4.0.1","_integrity":"sha512-1/J3odThxt0zaCVz9+Lfeqfxt83GabBjlkIMvM8MtEZplq4g5LZl3qj7JK/4ZjQ21aghhGHsTmq32xO/7p77bg==","_nodeVersion":"26.3.0","_npmVersion":"10.8.3","shasum":"6ed38c349b72090a3b9b41dcd8611963e3b958b2","dist":{"integrity":"sha512-1/J3odThxt0zaCVz9+Lfeqfxt83GabBjlkIMvM8MtEZplq4g5LZl3qj7JK/4ZjQ21aghhGHsTmq32xO/7p77bg==","shasum":"6ed38c349b72090a3b9b41dcd8611963e3b958b2","tarball":"https://registry.npmjs.org/@bun-win32/user32/-/user32-4.0.1.tgz","fileCount":6,"unpackedSize":233315,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCLiYzI9tb7oehM2Jo8VOKYoQXamFQ84YwbBbWgO+0CSQIhAP14KG3k+wO3ehE3EffW6dcHar+KXZEW1EXDkZ0F1xN/"}]},"_npmUser":{"name":"obscuritysrl","email":"stev.p@outlook.com"},"directories":{},"maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/user32_4.0.1_1782438179323_0.1634574865373677"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-05T02:23:23.060Z","modified":"2026-06-26T01:42:59.582Z","3.0.12":"2026-04-05T02:23:23.369Z","3.0.13":"2026-04-05T02:38:25.664Z","3.0.14":"2026-04-05T02:56:48.980Z","3.0.15":"2026-04-05T16:47:50.327Z","3.0.16":"2026-04-05T16:49:57.430Z","3.0.17":"2026-04-06T22:32:49.905Z","3.0.18":"2026-04-07T17:55:29.655Z","3.0.19":"2026-04-08T02:43:21.444Z","3.0.20":"2026-04-08T22:33:34.318Z","3.0.21":"2026-06-04T14:05:26.354Z","3.0.22":"2026-06-13T18:32:21.541Z","4.0.0":"2026-06-26T01:06:13.449Z","4.0.1":"2026-06-26T01:42:59.470Z"},"bugs":{"url":"https://github.com/ObscuritySRL/bun-win32/issues"},"author":"Stev Peifer <stev.p@outlook.com>","license":"MIT","homepage":"https://github.com/ObscuritySRL/bun-win32#readme","keywords":["bun","ffi","win32","windows","user32","bindings","typescript","dll"],"repository":{"type":"git","url":"git://github.com/ObscuritySRL/bun-win32.git","directory":"packages/user32"},"description":"Zero-dependency, zero-overhead Win32 USER32 bindings for Bun (FFI) on Windows.","maintainers":[{"name":"obscuritysrl","email":"stev.p@outlook.com"}],"readme":"# @bun-win32/user32\r\n\r\nZero-dependency, zero-overhead Win32 User32 bindings for [Bun](https://bun.sh) on Windows.\r\n\r\n## Overview\r\n\r\n`@bun-win32/user32` exposes the `user32.dll` exports using [Bun](https://bun.sh)'s FFI. It provides a single class, `User32`, which lazily binds native symbols on first use. You can optionally preload a subset or all symbols up-front via `Preload()`.\r\n\r\nThe bindings are strongly typed for a smooth DX in TypeScript.\r\n\r\n## Features\r\n\r\n- [Bun](https://bun.sh)-first ergonomics on Windows 10/11.\r\n- Direct FFI to `user32.dll` (windows, input, clipboard, monitors, and more).\r\n- In-source docs in `structs/User32.ts` with links to Microsoft Docs.\r\n- Lazy binding on first call; optional eager preload (`User32.Preload()`).\r\n- No wrapper overhead; calls map 1:1 to native APIs.\r\n- Strongly-typed Win32 aliases (see `types/User32.ts`).\r\n\r\n## Requirements\r\n\r\n- [Bun](https://bun.sh) runtime\r\n- Windows 10 or later\r\n\r\n## Installation\r\n\r\n```sh\r\nbun add @bun-win32/user32\r\n```\r\n\r\n## Quick Start\r\n\r\n```ts\r\nimport type { Pointer } from 'bun:ffi';\r\nimport User32, { MessageBoxType } from '@bun-win32/user32';\r\n\r\n// Helper: UTF-16LE null-terminated string\r\nconst encode = (str: string) => Buffer.from(`${str}\\0`, 'utf16le');\r\n\r\n// Null pointer for optional HWND\r\nconst NULL = null as unknown as Pointer;\r\n\r\n// Show a message box\r\nUser32.MessageBoxW(\r\n  NULL,\r\n  encode('Hello from @bun-win32/user32!').ptr,\r\n  encode('Welcome').ptr,\r\n  MessageBoxType.MB_OK | MessageBoxType.MB_ICONINFORMATION\r\n);\r\n```\r\n\r\n> [!NOTE]\r\n> AI agents: see `AI.md` for the package binding contract and source-navigation guidance. It explains how to use the package without scanning the entire implementation.\r\n\r\n## Examples\r\n\r\nRun the included examples:\r\n\r\n```sh\r\nbun run example              # Basic User32 usage\r\nbun run example:mouse        # Mouse stalker demo\r\nbun run example:hotkey       # Hotkey registration demo\r\nbun run example:countdown    # Countdown dialog demo\r\n```\r\n\r\n## Notes\r\n\r\n- Either rely on lazy binding or call `User32.Preload()`.\r\n- User32 wide-string (`*W`) functions expect UTF-16LE + null terminator. Use a helper like `encode()` and pass `.ptr`.\r\n- Windows only. Bun runtime required.\n- **SAL types & naming:** nullability is in the **type** — `Optional<T>` (formally optional, SAL `_*opt_`) and `Nullable<T>` (plain `[in]`/`[out]` the docs say can be NULL), the null sentinel derived from `T` (`null` for pointers `LP*`/`P*`, `0n` for handles/by-value addresses); direction is in the **parameter name** — `_out` (`_Out_`), `_in_out` (`_Inout_`), `_In_` bare. See `AI.md` and the repo `AGENTS.md`.\n","readmeFilename":"README.md"}