识别当前活动窗口,将击键发送到另一个窗口,然后返回到当前活动窗口

时间:2020-04-08 00:52:55

标签: powershell

问题:我的VM在15分钟后没有输入就注销,我希望保持它的生命状态,同时最大程度地减少对我在计算机上工作的影响。

使用Powershell的潜在解决方案: 1.识别当前的活动窗口 2.将焦点更改为VM应用程序窗口(窗口名称为静态) 3.每15分钟/ 900秒发送一次F16击键 4.将焦点返回到我之前正在工作的窗口。

我已经编写了实现第2点和第3点的工作代码,但是我还没有找到关于第1点和第4点的解决方案。我敢肯定这是一个简单的问题,但是我渴望简单而优雅的解决方案。

我当前的代码:

while($true)
{
    $wshell = New-Object -ComObject wscript.shell;
    $wshell.AppActivate('My VM Window I need to keep alive')
    Sleep 1
    Write-Output("Sending Keystroke")
    Sleep 1
    $wshell.SendKeys('F16')
    Sleep 1
    Write-Output("Sleeping")
    Sleep 900
}

如果还有一种更好的方法来完成第2点和第3点,那么请让我知道我在这里学习。

或者: 有没有办法在不离开当前活动窗口的情况下将击键发送到非活动窗口?那样的话就不会那么麻烦了!

感谢您的协助!

0 个答案:

没有答案