Окно фокуса, созданное скриптом PowerShell - PullRequest
0 голосов
/ 02 апреля 2012

Я могу отобразить простое поле ввода Visual Basic из сценария PowerShell следующим образом:

$null = [reflection.assembly]::loadwithpartialname("microsoft.visualbasic")
$input = [microsoft.visualbasic.interaction]::inputbox($question, "bla", $text)

Однако окно ввода не получает фокус, который остается с окном PowerShell.

Есть ли способ выделить фокус в окне ввода?

1 Ответ

1 голос
/ 02 апреля 2012

Вы можете сфокусировать InputBox из задания.

Например:

$null = [reflection.assembly]::loadwithpartialname("microsoft.visualbasic")
$activateWindow = {
        $null = [reflection.assembly]::loadwithpartialname("microsoft.visualbasic")
        $isWindowFound = $false
        while(-not $isWindowFound) {
            try {
                [microsoft.visualbasic.interaction]::AppActivate($args[0])
                $isWindowFound = $true
            }
            catch {
                sleep -Milliseconds 100
            }
        }
    } 

$job = Start-Job $activateWindow -ArgumentList "Unique Title"
$input = [microsoft.visualbasic.interaction]::inputbox("What is your answer?", "Unique Title", "none")
Remove-Job $job -Force
Write-Host $input -ForegroundColor Yellow
...