0

次のようなPowerShellスクリプトから簡単なVisualBasic入力ボックスを表示できます。

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

ただし、入力ボックスウィンドウはフォーカスを取得せず、PowerShellウィンドウに残ります。

入力ボックスウィンドウにフォーカスを与える方法はありますか?

4

1 に答える 1

1

ジョブから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
于 2012-04-02T18:13:28.543 に答える