[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
如果和C系列相比,我感觉ConsExt .exe占用CPU较小

TOP

请问 [楼主]
简单说,我想用“输出一行字符”的功能,输出多行字符(界面功能表)。就是界面功能表是多行多列,如何用鼠标获取指定行列??以便GOTO标签执行程序???
(看重优点:占用CPU很小)

[ 本帖最后由 ZJHJ 于 2009-7-14 09:19 编辑 ]

TOP

就是界面功能表是多行多列,如何用鼠标点击操作?

TOP

@echo off
setlocal ENABLEDELAYEDEXPANSION
ConsExt /event
set /a ret=%errorlevel%
if %ret% geq 1000 (
        set /a "mouseY=ret%1000"
        set /a "mouseX=(ret-mouseY-1000)/1000"
        echo 鼠标点击在!mouseX!,!mouseY!。
) else (
        if %ret% equ 27 echo 你按下了返回键。
        if %ret% equ 37 echo 你按下了左键。
        if %ret% equ 38 echo 你按下了上键。
        if %ret% equ 39 echo 你按下了右键。
        if %ret% equ 37 echo 你按下了下键。
        if %ret% equ 13 echo 你按下了回车键。
        echo 键盘码:%ret%
)

为什么!mouseX!正确 ,为什么 !mouseY!=0  ??????

------------------------

以上问题我已经坚决了,X   Y 我用变量截取。也取消了setlocal

[ 本帖最后由 ZJHJ 于 2009-7-17 06:55 编辑 ]

TOP

建议取消延迟变量(获取键盘鼠标事件),因为有多处goto者可能会带来麻烦

TOP

非常很希望 czl1378 [楼主] 能够放一个单独的 体积很小的 CMD鼠标获取程序。
以下这个体积很小,但是启用的ntvdm.exe占用cpu太高(几呼100%),操作中非常卡。[楼主] 原来的ConsExt.exe很好用,启用的ntvdm.exe不占用cpu,但是,200Kb实在太大,不能用debug-dw装入bat(极限值2.5K)
@echo off
title 鼠标三方演示批处理
(chcp 437 &graftabl 936)>nul
SET SYB=A100;0AEB 3030 3020 2030 3030 2420 00B8 CD00;B833 0001 33CD 05B8 CD00 A933 0007 F674;E086 300D A330 0102 C889 08B3 18E8 A300;0105 D089 08B3 0EE8 A300 0108 09B4 02BA;CD01 B421 CD4C F621 08F3 74E4 FE02 FEC0;88C0 B1C4 D204 25E8 0F0F 300D 3C30 7639;0402 8007 39FC 0376 C480 C307  ;
SET V=;RCX;006C;N mouse.com;W;Q
(ECHO.%SYB:;=&ECHO.DW %&ECHO.%V:;=&ECHO.%)|DEBUG>NUL
:lp
cls
echo.
echo   鼠标点击窗口
echo.                                                  点击这里关闭窗口
echo.                            查看代码
echo.
echo           X %X%       Y %Y%
for /f "tokens=1-3" %%1 in ('mouse.com') do (set /a X=0x%%2,Y=0x%%3)
if %X% GTR 51 if %X% LSS 65  if %Y% EQU 03 goto we
if %X% GTR 29 if %X% LSS 36  if %Y% EQU 04 goto ck
goto :lp
:ck
start mrt.exe  %0
goto :lp
:we
Exit

TOP

返回列表