![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 11:38 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求一个能识别鼠标的代码 |
| 可打印版本 903 / 6 |
| 第1楼 fe19880919 | 发表于 2010-05-07 14:23 |
| 初级用户 发帖 24 积分 27 | |
|
求一个能识别鼠标的代码 上次在这里看到一个能用鼠标输入的批处理,不过太多了,看不懂。希望哪个会做的给发一个简单点的代码。
|
|
| 第2楼 HAT | 发表于 2010-05-07 14:25 |
| 版主 发帖 5,017 积分 9,023 | |
|
先说说你看不到哪些?
|
|
| 第3楼 fe19880919 | 发表于 2010-05-07 15:54 |
| 初级用户 发帖 24 积分 27 | |
|
下面是我在论坛看到的原代码,不过set sybcom=后面的全不懂了,希望能给解释下或说个简单点的鼠标识别的代码,谢了。
@echo oFF&SETLOCAL ENABLEDELAYEDEXPANSION&(CHCP 437 &GRAFTABL 936)>NUL mode con cols=80 lines=25 >nul ::载入/生成sybc 变量SYBCOM保存SYBC的16进制数据 V保存DEBUG代码 最后通过管道交由DEBUG执行 SET SYBCOM=A100``80BE BA00 0 88AC ACC4 88AC 80C3 FC`3674 FC80 BEFF 82 4B75 2CBE AC00 C488`86AC 50C4 BE1F 0 3CAC 7553 ACFB 593C`F675 3CAC 7542 ACF1 433C EC75 3CAC 7553`ACE7 3D3C E275 1DEB 1B3 8EE9 B300 E902`89 3CAC 743A 3C0E 740D 3C5B 7400 8357`1EE 83E9 AC00 313C 1874 4A3C DA74 4B3C`DB74 4D3C 4474 6A3C CE74 6B3C CF74 6D3C`3874 D6E8 E800 F0 183C 2A7F C688 CAE8`E800 E4 4F3C 1E7F C288 2B0 E2F6 B050`F6A0 5FE6 C701 AC57 243C 374 EE83 E801`74 D188 38EB 4CB4 21CD B8 CD00 B833`1 33CD 5B8 CD00 A933 3 F174 3B8`CD00 8933 B3C8 F608 EBF3 B0DB CD00 8016`2FB D274 E088 CEEB 815F A0C7 5700 B850`B800 750 295A 88F5 ACCA 243C B174 3B3C`1174 D3C 5174 3C 4D74 233C 875 D783`EB01 E904 FF3C 80AA FA 574 D088 EBAA`83D8 1D7 D3EB 32E8 3C00 7523 8008 23FB`375 B2 38C3 74D8 87F9 3CC3 7E39 402`8009 39FB 37E C380 2409 800F FE3 10B2`E2F6 D800 C288 B4C3 CD4C AC21 203C FB74`D3C F374 3C EF74 C388 3CAC 7420 3CEC`740D 3CE4 7400 C3E0 C387 302C EB80 B430`F60A E4 C3D8`` SET SYBCV=`A80`DB FF``RCX`200`G`Q SET V=;RCX;200;N SYBC.COM;W;Q (ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL echo SYBN 鼠标软键盘 使用CMD QQ:354324773 (echo.Q)|debug>NUL ping 543001 -n 1 -w 40 >NUL :voidmain echo 请单击鼠标以继续... SYBC m call :SYBC 10000$FcSYBN $f1鼠标软键盘 $F0不用键盘使用CMD $f8QQ:354324773 $F1请用鼠标点击输入命令 点击$2cGo$F1执行; call :SYBC 10100$F21$7c2$F23$7c4$F25$7c6$F27$7c8$F29$7c0$F2 $7c/$F2A$7cB$F2C$7cD$F2E$7cF$F2G$7cH$F2I$7cJ$F2K$7cL$F2M$7cN$F2O$7cP$F2Q$7cR$F2S$7cT$F2U$7cV$F2W$7cX$F2Y$7cZ$f2-$7c.$F2删$2cGo set commands= call :MOUS goto :voidmain :MOUS set newchar=. call :SYBC 10200$0F%commands%_ ; SYBC M set err=%errorlevel% title %err% if %err% LSS 256 set newchar=go if %err% LSS 78 set newchar=删 if %err% LSS 76 set newchar=. if %err% LSS 75 set newchar=- if %err% LSS 74 set newchar=Z if %err% LSS 72 set newchar=Y if %err% LSS 70 set newchar=X if %err% LSS 68 set newchar=W if %err% LSS 66 set newchar=V if %err% LSS 64 set newchar=U if %err% LSS 62 set newchar=T if %err% LSS 60 set newchar=S if %err% LSS 58 set newchar=R if %err% LSS 56 set newchar=Q if %err% LSS 54 set newchar=P if %err% LSS 52 set newchar=O if %err% LSS 50 set newchar=N if %err% LSS 48 set newchar=M if %err% LSS 46 set newchar=L if %err% LSS 44 set newchar=K if %err% LSS 42 set newchar=J if %err% LSS 40 set newchar=I if %err% LSS 38 set newchar=H if %err% LSS 36 set newchar=G if %err% LSS 34 set newchar=F if %err% LSS 32 set newchar=E if %err% LSS 30 set newchar=D if %err% LSS 28 set newchar=C if %err% LSS 26 set newchar=B if %err% LSS 24 set newchar=A if %err% LSS 22 set newchar=/ if %err% LSS 21 set newchar=_ if %err% LSS 20 set newchar=0 if %err% LSS 18 set newchar=9 if %err% LSS 16 set newchar=8 if %err% LSS 14 set newchar=7 if %err% LSS 12 set newchar=6 if %err% LSS 10 set newchar=5 if %err% LSS 8 set newchar=4 if %err% LSS 6 set newchar=3 if %err% LSS 4 set newchar=2 if %err% LSS 2 set newchar=1 title %err%[%newchar%] if %newchar% == go goto :go if %newchar% == 删 goto :del set commands=%commands%%newchar% set commands=%commands:_= % goto :MOUS :go echo.------------------------------------------------ call :SYBC 10200$0A%commands% ; %commands% goto :EOF :del set commands=%commands:~0,-1% goto :MOUS :SYBC set SYBCS=%* (ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%SYBCV:`=&ECHO.%)|DEBUG>NUL goto :EOF :SYBCD IF "%1" == "" SET SYBCCD=00&GOTO SYBCC SET SYBCCD=64 set SYBCC=%* :SYBCC SET V=`A80`DB %SYBCCD% 00 "%SYBCC%" 0D``RCX`200`G`Q (ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%V:`=&ECHO.%)|DEBUG>NUL EXIT /B %err% if %err% LSS 78 set newchar=go if %err% LSS 76 set newchar=删 if %err% LSS 75 set newchar=. if %err% LSS 74 set newchar=- if %err% LSS 72 set newchar=Z if %err% LSS 70 set newchar=Y if %err% LSS 68 set newchar=X if %err% LSS 66 set newchar=W if %err% LSS 64 set newchar=V if %err% LSS 62 set newchar=U if %err% LSS 60 set newchar=T if %err% LSS 58 set newchar=S if %err% LSS 56 set newchar=R if %err% LSS 54 set newchar=Q if %err% LSS 52 set newchar=P if %err% LSS 50 set newchar=O if %err% LSS 48 set newchar=N if %err% LSS 46 set newchar=M if %err% LSS 44 set newchar=L if %err% LSS 42 set newchar=K if %err% LSS 40 set newchar=J if %err% LSS 38 set newchar=I if %err% LSS 36 set newchar=H if %err% LSS 34 set newchar=G if %err% LSS 32 set newchar=F if %err% LSS 30 set newchar=E if %err% LSS 28 set newchar=D if %err% LSS 26 set newchar=C if %err% LSS 24 set newchar=B if %err% LSS 22 set newchar=A if %err% LSS 21 set newchar=/ if %err% LSS 20 set newchar= if %err% LSS 18 set newchar=0 if %err% LSS 16 set newchar=9 if %err% LSS 14 set newchar=8 if %err% LSS 12 set newchar=7 if %err% LSS 10 set newchar=6 if %err% LSS 8 set newchar=5 if %err% LSS 6 set newchar=4 if %err% LSS 4 set newchar=3 if %err% LSS 2 set newchar=2 if %err% LSS 0 set newchar=1 |
|
| 第4楼 sl543001 | 发表于 2010-05-10 17:57 |
| 中级用户 发帖 225 积分 499 | |
|
::载入/生成sybc 变量SYBCOM保存SYBC的16进制数据 V保存DEBUG代码 最后通过管道交由DEBUG执行
SET SYBCOM= ::就是说把一个叫SYBC.COM的程序转换成了16进制代码,这段代码以DW格式保存到变量SYBCOM中 ::事后用(ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%SYBCV:`=&ECHO.%)|DEBUG>NUL ::也可以用 SET V=;RCX;200;N SYBC.COM;W;Q (ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL 来在硬盘上生成这个文件 你只需要知道你可以用 call :SYBC 参数 等效于直接用 sybc 参数 来运行它 ::可以直接在内存里运行这个程序 |
|
| 第5楼 sl543001 | 发表于 2010-05-10 17:59 |
| 中级用户 发帖 225 积分 499 | |
|
还有这段代码到EXIT /B %err%这一行就结束了
后面的没用,只是忘了删了 QQ群:3401238 |
|
| 第6楼 sl543001 | 发表于 2010-05-10 18:00 |
| 中级用户 发帖 225 积分 499 | |
|
鼠标功能有点小BUG还没解决,所以必须使用磁盘文件才能使用鼠标功能
|
|
| 第7楼 fe19880919 | 发表于 2010-05-12 11:30 |
| 初级用户 发帖 24 积分 27 | |
|
这个东西还有很多看不懂的地方,虽然sl543001已经解释了,不过我还是感觉我自己水平太低了,这个有点看不懂,我已经把这个存起来了,先学点别的东西,等对批处理有了更深的理解之后再来看这个代码吧.
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |