ll_libload user, "user32.dll"
ll_getproc SendInput, "SendInput", user
ll_getproc MapVirtualKey, "MapVirtualKeyA", user
#module
#deffunc getdiminfo val, int
mref pval, 1024 : mref dnum, 1
mref stt, 64
stt = dnum + 2
stt = pval.stt
if (pval & $FFFF = 2) && (dnum = 0) : stt = stt * 4
return
#deffunc setkeys val
mref code, 48
getdiminfo code
length = stat
dim inputs, length * 7
repeat length
i = cnt * 7
prm = code.cnt \ 1000, 0
ll_callfunc prm, 3, MapVirtualKey@
ll_ret i.1
inputs.i = 0x01, (code.cnt \ 1000) + (i.1 << 16), code.cnt / 1000
loop
prm = length, 0, 28
ll_getptr inputs : ll_ret prm.1
ll_callfunc prm, 3, SendInput@
repeat length
i = cnt * 7 + 2
inputs.i = 0x02
loop
ll_callfunc prm, 3, SendInput@
return
#global
exec "notepad"
dim keys, 8
keys = 'U', 'L', 'T', 'I', 'M', 'A', 'T', 'E'
setkeys keys
|