correy
驱动牛犊
驱动牛犊
  • 注册日期2007-11-12
  • 最后登录2017-04-07
  • 粉丝0
  • 关注0
  • 积分76分
  • 威望531点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1952回复:0

keyboard-lamp.asm

楼主#
更多 发布于:2010-06-01 09:20
;本文是根据KmdKit改编而来
;若有啥事请与我联系:
;QQ:112426112
;Email:leguanyuan@126.com
;Websites:http://correy.webs.com
;ml /coff keyboard-lamp.asm /link /subsystem:windows
.386
.model flat, stdcall
option casemap:none
include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib

.data?
x dd ?
y dword ?
z dd ?

.data
over db "game over!",0
correy db "made by correy",0
notice db "点击确定后,请看你键盘上的各种指示灯!",0
dn db "\\.\KbdGarland",0
noo db "建立对象失败,不能运行。",0
aa db "KbdGarland",0
bb db "\Device\KeyboardClass0",0

.code
start:
invoke DefineDosDevice,DDD_RAW_TARGET_PATH,addr aa,addr bb
invoke MessageBox,0,addr notice,addr correy,0
     invoke CreateFile,addr dn,0,0,0,3,0,0
     cmp eax,-1
     je noob
     mov z, eax
     mov ebx,9;亮灯的遍数
again:mov word ptr y+2,4;让caps灯亮至少0.1秒,直到调用下一个DeviceIoControl函数成功。
     invoke DeviceIoControl,z,0b0008h,addr y,4,0,0,addr x,0
     invoke Sleep,100
     mov word ptr y+2,1;让scroll灯亮至少0.1秒,直到调用下一个DeviceIoControl函数成功。
     invoke DeviceIoControl,z,0b0008h,addr y,4,0,0,addr x,0
     invoke Sleep,100
     mov word ptr y+2,2;让number灯亮至少0.1秒,直到调用下一个DeviceIoControl函数成功。
     invoke DeviceIoControl,z,0b0008h,addr y,4,0,0,addr x,0
     invoke Sleep,100
     dec ebx
     cmp ebx,0
     jne again
     invoke MessageBox,0,addr over,addr correy,0
     jmp exit
noob:invoke MessageBox,0,addr noo,addr correy,0
exit:invoke DefineDosDevice, DDD_REMOVE_DEFINITION,addr aa,0
     invoke ExitProcess,0
end start
;made in 2010.05.27
附件名称/大小 下载次数 最后更新
exe.rar (2KB)  1 2010-10-31 11:10
游客

返回顶部