Я сделал программу, которая открывает определенную программу, а затем Ctrl + C это после й количества времени.Передача ключи на открытые окна в PowerShell
Я сейчас использую это [System.Windows.Forms.SendKeys]::SendWait("^{c}")
. Будет ли эта цель отображать определенное окно или просто случайно отправить его в текущее окно?
Как я могу сменить его на определенное окно?
Это мой код:
Write-Host "Safe Botting V0.1"
Write-Host "Initializing..."
Start-Sleep -s 3
Write-Host "Program started successfully with no errors."
While($true)
{
Write-Host "Starting bot..."
Start-Sleep -s 3
Start-Process -FilePath E:\Documents\bot.exe
Write-Host "Bot started successfully"
$rnd = Get-Random -Minimum 1800 -Maximum 10800
Write-Host "The bot will run for:"
Write-Host $rnd
Start-Sleep -s $rnd
Write-Host "Bot will now stop!"
[System.Windows.Forms.SendKeys]::SendWait("^{c}")
Write-Host "Bot terminated"
Write-Host "Starting cooldown time"
$rnb = Get-Random -Minimum 14400 -Maximum 28800
Write-Host "The bot will cooldown for"
Write-host $rnb
Start-Sleep -s $rnb
Write-Host "Cooldown Finished, Restarting"
Start-Sleep -s 5
}
Что вы на самом деле пытаетесь достичь здесь? Это звучит как проблема [XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem); Я подозреваю, что есть более чистое решение вашей проблемы, например. используя команду 'Taskkill'. Также, пожалуйста, укажите свой фактический код в своем сообщении. –
Программа, пытающаяся запустить, должна быть остановлена Ctrl + C, иначе она не будет загружаться в следующий раз. –
Затем как насчет команды ['Stop-Process'] (https://technet.microsoft.com/en-us/library/ee177004.aspx)? –