0

我可以从 PowerShell 脚本中显示一个简单的 Visual Basic 输入框,如下所示:

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

但是,输入框窗口没有获得焦点,而焦点则保留在 PowerShell 窗口中。

有没有办法将焦点放在输入框窗口上?

4

1 回答 1

1

您可以从工作中集中输入框。

例如:

$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
于 2012-04-02T18:13:28.543 回答