板 1- 前 次 新 レス
管理人の雑記
[65]管理人 ★:2007/09/28(金) 11:18:24
とりあえずできた。
2台のノートPCで試したところ、安物の実験台では指の数が検出できなかったが、
埋まっていたLet's noteでは0〜2本の間で正しく取得できた。
#Persistent
Malloc(size,flag=0x40){
return DllCall("kernel32.dll\GlobalAlloc","UInt",flag,"UInt",size,"UInt")
}
TP_StartData:=0
TP_DW=0x01000000
ilen:=4*4
ibuf:=Malloc(ilen)
NumPut(TP_DW | 10 ,ibuf+4*0) ; TP_DeviceHandle,
NumPut(TP_DW | 729 ,ibuf+4*1) ; TP_PacketFingerInfo,
NumPut(TP_StartData ,ibuf+4*2) ; TP_StartData,
NumPut(0xFFFFFFFE ,ibuf+4*3)
olen:=4*2
obuf:=Malloc(olen)
dev=\\.\SYNTP
hDev:=DllCall("CreateFileA",Str,dev,UInt,0xC0000000,UInt,3,UInt,0,UInt,3,UInt,80,UInt,0)
SetTimer,GetFingerInfo,50
GetFingerInfo:
DllCall("DeviceIoControl",UInt,hDev,UInt,0x80006004,UInt,ibuf,UInt,ilen,UInt,obuf,UInt,olen,UIntP,bytes,UInt,0)
numFingers:=NumGet(obuf+4) & 0xFF
ToolTip,%numFingers%
return
前 次