您可以从工作位置移动鼠标位置吗?

时间:2019-01-08 03:47:31

标签: powershell mouse

我正在尝试使用Start-Job移动鼠标,尽管工作本身已经完成,但是它不起作用。有没有办法将鼠标作为工作的一部分进行移动,或者这是不可能的?无法在线找到答案。

function moveMouseJob
{
    [Windows.Forms.Cursor]::Position = "$($[Windows.Forms.Cursor]::Position.X + 100),$($[Windows.Forms.Cursor]::Position.Y)"
}

Clear-Host

Start-Job $function:moveMouseJob

1 个答案:

答案 0 :(得分:1)

您的代码中有错别字-表单中缺少“ s”。它应显示为:

[Windows.Forms.Cursor]::Position = $mousePosition

this advice之后,我可以使用以下代码将鼠标光标向右移动100个像素,该代码将“ 1024,768”之类的字符串转换为System.Drawing.Point:

[windows.forms.Cursor]::Position = "$([windows.forms.Cursor]::Position.X + 100),$([windows.forms.Cursor]::Position.Y)"

编辑:在工作中需要Windows.Forms引用是正确的,因为这是一个新的运行空间,因此很有意义。一旦添加光标,光标就会移动。 Receive-Job行不是必需的,但对于您的目的可能很有用。

$job = start-job {
    [void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
    [windows.forms.Cursor]::Position = "$([windows.forms.Cursor]::Position.X + 100),$([windows.forms.Cursor]::Position.Y)"
}
Receive-Job -Job $job