Function lyncNotFocused {
# We need to check if the Lync window (conversation?) has focus or not.
$hwnd = [WhichWindowActive]::GetForegroundWindow()
$proc = [IntPtr]::Zero
[WhichProcessActive]::GetWindowThreadProcessId($hwnd, [ref] $proc);
Write-Host "DEBUG: Focused - hwnd $hwnd, process $proc"
if (Get-Process -ID $proc -ErrorAction "SilentlyContinue" | Where { $_ -notmatch "lync" }) { return $true }
else { return $false }
}
「12412 True」や「9867 False」などを返します。単純なブール値だけではありません。数字は私が調べている PID に対応しており、Get-Process コマンドレットがここでベッドをうんざりさせているようです。黙らせるにはどうしたらいいですか?