PowerShell模拟按下J键并终止脚本

 更新时间:2023年10月15日 16:46:28   作者:嘿嘿哟哟  
这篇文章主要为大家介绍了PowerShell模拟按下J键并终止脚本,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

PowerShell 脚本来模拟按下 J 键并允许使用 Ctrl+C 终止脚本

要编写一个 PowerShell 脚本来模拟按下 J 键并允许使用 Ctrl+C 终止脚本,你可以使用 PowerShell 的 Add-Type 来调用 WinAPI 来模拟按键事件。

然后,你可以使用循环来持续按下 J 键,并使用 Ctrl+C 终止循环。

示例脚本

Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public class KeyboardSimulator {
    [DllImport("user32.dll")]
    public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo);
    public const int KEYEVENTF_KEYDOWN = 0x0001;
    public const int KEYEVENTF_KEYUP = 0x0002;
    public static void SimulateKeyStroke(byte key) {
        keybd_event(key, 0, KEYEVENTF_KEYDOWN, 0);
        keybd_event(key, 0, KEYEVENTF_KEYUP, 0);
    }
}
"@
# 定义 J 键的键码
$JKey = 0x4A  # 0x4A 是 J 键的键码
# 定义 Ctrl+C 的键码
$CtrlC = 0x03  # 0x03 是 Ctrl+C 的键码
# 定义是否继续按键的标志
$continue = $true
# 定义按键的间隔时间(毫秒)
$interval = 100
# 注册 Ctrl+C 终止脚本的事件
Register-ObjectEvent -InputObject $Host -EventName 'KeyPress' -Action {
    if ($event.SourceEventArgs[1].KeyChar -eq 'C' -and ($event.SourceEventArgs[0].Modifiers -band [System.Windows.Forms.Keys]::Control)) {
        $script:continue = $false
    }
}
Write-Host "按下 Ctrl+C 来停止脚本..."
# 开始按下 J 键的循环
while ($continue) {
    [KeyboardSimulator]::SimulateKeyStroke($JKey)
    Start-Sleep -Milliseconds $interval
}
# 移除 Ctrl+C 终止脚本的事件
Unregister-Event -SourceIdentifier $event.SourceIdentifier

这个脚本定义了一个 KeyboardSimulator 类,该类使用 keybd_event 函数来模拟按键事件。然后,它启动一个循环,不断模拟按下 J 键。你可以按下 Ctrl+C 来停止脚本的执行。

以上就是PowerShell模拟按下J键并终止脚本的详细内容,更多关于PowerShell模拟J键的资料请关注脚本之家其它相关文章!

相关文章

  • PowerShell隐藏不显示窗口的多种方法

    PowerShell隐藏不显示窗口的多种方法

    这篇文章主要介绍了PowerShell隐藏不显示窗口的多种方法,本文讲解了启动PowerShell时隐藏自己的窗口、在PowerShell启动其它进程时隐藏窗口、使用PowerShell隐藏其它进程的窗口三种方法,需要的朋友可以参考下
    2015-06-06
  • PowerShell查看进程的所属用户

    PowerShell查看进程的所属用户

    这篇文章主要介绍了PowerShell查看进程的所属用户,即查询一个进程的拥有者是哪个用户,需要的朋友可以参考下
    2014-12-12
  • PowerShell中字符串分行显示的两种方法技巧

    PowerShell中字符串分行显示的两种方法技巧

    这篇文章主要介绍了PowerShell中字符串分行显示的两种方法技巧,本文直接给出代码实例,需要的朋友可以参考下
    2015-05-05
  • PowerShell中使用curl(Invoke-WebRequest)的方法教程

    PowerShell中使用curl(Invoke-WebRequest)的方法教程

    这篇文章主要给大家介绍了关于在PowerShell中使用curl(Invoke-WebRequest)的方法教程,文中通过详细的示例代码给大家介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • PowerShell多线程执行前后台作业的例子

    PowerShell多线程执行前后台作业的例子

    使用后台作业执行多个任务从先前的技巧中看不是非常高效,它在处理每个后台作业返回结果时将会浪费很多性能。一个更有效的方法是使用进程内的任务。他能分别单独的执行任务与Powershell类似,所以它不是按顺序返回值的
    2014-04-04
  • Powershell小技巧之查找脚本中的函数

    Powershell小技巧之查找脚本中的函数

    这篇文章主要介绍了使用Powershell查找脚本中的函数,非常简单实用,有需要的朋友可以参考下
    2014-09-09
  • 使用HTTP api简单的远程执行PowerShell脚本

    使用HTTP api简单的远程执行PowerShell脚本

    为了你能非常简单的远程执行PoweShell脚本,使用REST API是一个很好的选择,因为现在许多流行的编程语言都可以简单的执行HTTP的GET操作。
    2014-10-10
  • 探索PowerShell(十三) WMI对象介绍

    探索PowerShell(十三) WMI对象介绍

    我记得在xp时代,经常使用的工具有一个叫做WMI Administrative Tools,是微软官方提供的用来查看、编辑WMI对象的,只是现在好似不支持新的系统了
    2012-12-12
  • PowerShell Contains函数查找字符串实例

    PowerShell Contains函数查找字符串实例

    这篇文章主要介绍了PowerShell Contains函数查找字符串实例,Contains函数的作用是查询一个字符串中是否存在另一个字符串,需要的朋友可以参考下
    2014-08-08
  • PowerShell函数参数指定数据类型实例

    PowerShell函数参数指定数据类型实例

    这篇文章主要介绍了PowerShell函数参数指定数据类型实例,即强制参数的数据类型例子,需要的朋友可以参考下
    2014-07-07

最新评论