获取位置怎么获取呢?cmos结束后,将会返回一个errorlevel值,没错,就是它了!
先来看。
@echo off
cmos 0 -1 1
echo.%errorlevel%
pause
现在,看到了一个奇怪的数字,对吧?现在,仔细看看,千位和万位,不就是你点击位置所在的列吗?而百位、十位和个位,就是你点击位置所在的行。所以,获取位置可以这样写:
cmos 0 -1 1
set /a dj=%errorlevel%
set /a dja=%dj:~0,-3%
set /a djb=%dj%-1000*%dja%
::这些变量名随意
这样,变量djb即为点击位置所在行,dja则为点击位置所在列,这不就简单了吗?直接用就行了。
但是,如果用户不是使用鼠标点击来停止,而是时间到了而停止,返回值就不一样了。
如果是时间到了而停止,返回的errorlevel便会为负值!但是,其绝对值是一样的,也就是说他们除了符号没有差别。所以,可以用简单的if判断它是否小于零,便可以知道是时间到了自动停止,还是用户按了鼠标停止。接着,set /a dj=-%dj%,便可以再次套用刚刚那段代码了。如:
cmos 0 10 1
set /a dj=%errorlevel%
set /a dj=-%dj%
set /a dja=%dj:~0,-3%
set /a djb=%dj%-1000*%dja%
好了,讲解结束!多练习吧。