V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hapi
V2EX  ›  问与答

大佬们求教一个屏幕点击的脚本问题

  •  
  •   hapi · 2023-06-30 10:06:26 +08:00 via Android · 1526 次点击
    这是一个创建于 516 天前的主题,其中的信息可能已经有所发展或是发生改变。
    公司需要每天在工位上打卡,点击软件一下就行了,求教能不能写一个 bat 脚本实现点击屏幕的某一个位置,然后再用 windows 自带的定时计划来执行。公司是内网环境,按键精灵之类的软件也搞不进去😭
    21 条回复    2023-06-30 17:54:42 +08:00
    mydebug
        1
    mydebug  
       2023-06-30 10:18:51 +08:00
    内网环境下按键精灵为啥搞不进去?还不能插 u 盘了?
    opengps
        2
    opengps  
       2023-06-30 10:25:13 +08:00
    按键精灵进不去,其他的怎么进去?你手抄一份代码
    stcQ2G13k9yxep40
        3
    stcQ2G13k9yxep40  
       2023-06-30 10:32:20 +08:00
    在 PowerShell 中,要直接模拟鼠标点击屏幕上的特定位置可能会有些困难,因为 PowerShell 本身并不提供该功能。不过,你可以借助一些第三方工具来实现这一目标。

    以下是一个示例,使用 PowerShell 调用 MouseController 工具,它是一个用于模拟鼠标操作的第三方库。

    首先,确保你已经下载并安装了 MouseController 。你可以在 https://github.com/ViRb3/MouseController/releases 上找到最新版本,并将其解压到你的计算机上。

    将 MouseController.dll 文件复制到你的 PowerShell 脚本目录中。

    使用下面的示例代码来实现点击屏幕上特定位置的功能:

    powershell
    Copy code
    # 引入 MouseController 库
    Add-Type -Path "MouseController.dll"

    # 定义要点击的屏幕位置
    $clickX = 500
    $clickY = 300

    # 创建 MouseController 对象
    $mouseController = New-Object MouseController.MouseController

    # 点击指定位置
    $mouseController.LeftClick($clickX, $clickY)
    在上面的示例中,我们首先使用 Add-Type 命令引入了 MouseController.dll 库。然后,我们定义了要点击的屏幕位置的坐标。接下来,创建了一个 MouseController 对象,并使用 LeftClick 方法模拟左键点击操作。

    请确保将 MouseController.dll 文件放在与 PowerShell 脚本相同的目录中,或根据实际路径进行相应调整。

    这只是一种使用第三方工具来模拟鼠标点击特定屏幕位置的方法。如果你需要在 PowerShell 中执行更复杂的屏幕操作,可能需要使用其他工具或编程语言来实现。
    monkey110
        4
    monkey110  
       2023-06-30 10:50:37 +08:00 via Android
    内网环境,usb 难道被软件管控了么,试试进 pe 环境把按键精灵拷贝进入,公司运维一般不会封 bios 和 pe 为了处理问题
    aoling
        5
    aoling  
       2023-06-30 11:26:24 +08:00
    抓包抓包抓包
    hefang
        6
    hefang  
       2023-06-30 11:35:23 +08:00
    当然可以!你可以使用 VBScript 脚本语言编写一个脚本,利用 WScript.Shell 对象的 SendKeys 方法实现模拟鼠标点击的功能。然后,将该脚本与 Windows 自带的定时计划结合使用来按计划执行。

    下面是一个示例的 click.vbs 脚本:

    plaintext
    Set WshShell = WScript.CreateObject("WScript.Shell")
    WshShell.SendKeys "{CLICK x,y}"
    请将 x 和 y 替换为要点击的屏幕位置的横纵坐标。

    接下来,使用 Windows 自带的定时计划来安排执行该脚本:

    打开 Windows 的定时计划程序( Task Scheduler )。
    创建一个新的基本任务,并按照提示设置触发器(定义执行时间和频率)。
    在“操作”选项卡中,添加一个新的操作。选择运行一个程序,并指定 wscript.exe 作为程序,然后在参数中提供 click.vbs 脚本的完整路径。
    完成设置,并保存任务。
    这样,在设定的触发时间到达时,Windows 将自动执行该脚本并模拟点击屏幕的特定位置。

    注意:由于使用 SendKeys 命令必须以管理员权限运行,确保你以管理员身份运行定时计划程序,并设置执行操作具有管理员权限。
    isquare
        7
    isquare  
       2023-06-30 11:43:35 +08:00
    你非要用 bat ,可以试试这个: [Mouse.bat 模拟鼠标操作脚本]( https://blog.csdn.net/u010680194/article/details/117431583)

    我刚试了一下,你把代码保存为 mouse.bat ,然后第一次双击会自动生成一个 mouse.exe

    之后再写个 bat 脚本去调用这个 exe 来实现移动鼠标和点击

    ```
    call mouse moveTo 100x100
    call mouse click
    ```
    hapi
        8
    hapi  
    OP
       2023-06-30 12:32:05 +08:00 via Android
    @mydebug 不让拷贝 😭
    hapi
        9
    hapi  
    OP
       2023-06-30 12:33:08 +08:00 via Android
    @isquare 谢谢大佬😭
    hapi
        10
    hapi  
    OP
       2023-06-30 12:34:37 +08:00 via Android
    @monkey110 拷贝文件只能让别人帮忙,我们自己是没有权限的
    hapi
        11
    hapi  
    OP
       2023-06-30 12:35:14 +08:00 via Android
    @hefang 感谢,我去试试看
    hapi
        12
    hapi  
    OP
       2023-06-30 12:42:24 +08:00 via Android
    @qishouvip2022 拷贝文件的行为被限制了 只能自己写 不过还是感谢大佬
    lylnuaa
        13
    lylnuaa  
       2023-06-30 13:14:34 +08:00
    为毛我看到 chatGPT 的回答 就像打人~ 申明都不申明一下的吗 就你能
    ysc3839
        14
    ysc3839  
       2023-06-30 13:28:56 +08:00 via Android
    @qishouvip2022 PowerShell 能调用系统 API ,不需要借助外部项目
    mydebug
        15
    mydebug  
       2023-06-30 14:29:23 +08:00
    @hapi
    某宝买个手指机器人。物理外挂,简单有效
    felixlong
        16
    felixlong  
       2023-06-30 16:09:54 +08:00
    @hapi 管控的这么严。你还搞这种操作。不怕被抓了开除么?
    hapi
        17
    hapi  
    OP
       2023-06-30 16:28:05 +08:00 via Android
    @felixlong 抓的是安全 其他不严😆
    hapi
        18
    hapi  
    OP
       2023-06-30 16:29:00 +08:00 via Android
    @mydebug 杀软会强制锁屏,而且登录的是远程虚拟机,会掉线
    mydebug
        19
    mydebug  
       2023-06-30 16:39:17 +08:00
    @hapi
    既然如此光实现屏幕点击也没用啊
    burymme11
        20
    burymme11  
       2023-06-30 17:47:09 +08:00
    你电脑浏览器插件能用吗? UI.vision RPA ,brower 和 app 都支持,可以模拟鼠标和键盘操作,鼠标移动支持 OCR 识别也支持坐标输入,可以实现点击屏幕的动作,这个 RPA 支持 command api 调用,你可以写一个定时的 powershell 脚本。
    wu00
        21
    wu00  
       2023-06-30 17:54:42 +08:00
    让同事帮忙打
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5367 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:33 · PVG 17:33 · LAX 01:33 · JFK 04:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.