为什么此Powershell函数返回的不仅仅是true/false?

为什么此Powershell函数返回的不仅仅是true/false?,powershell,scripting,Powershell,Scripting,它返回类似“12412 True”或“9867 False”的内容。绝不仅仅是简单的布尔值。这些数字对应于我正在查找的PID,而且Get-Process cmdlet似乎正在这里扫兴。我怎么才能让它闭嘴 听起来您需要在[WhichProcessActive]代码行上执行|out null。它可能会返回PID并在参数中进行设置 PowerShell会将所有内容发送到管道中,因此除非您将方法返回值分配给变量,或者使用[void]或Out Null丢弃它,否则它也会被返回。听起来您需要在[WhichP

它返回类似“12412 True”或“9867 False”的内容。绝不仅仅是简单的布尔值。这些数字对应于我正在查找的PID,而且Get-Process cmdlet似乎正在这里扫兴。我怎么才能让它闭嘴

听起来您需要在
[WhichProcessActive]
代码行上执行
|out null
。它可能会返回PID并在参数中进行设置


PowerShell会将所有内容发送到管道中,因此除非您将方法返回值分配给变量,或者使用
[void]
Out Null
丢弃它,否则它也会被返回。

听起来您需要在
[WhichProcessActive]
代码行上执行
Out Null
。它可能会返回PID并在参数中进行设置


PowerShell会将所有内容发送到管道中,因此除非您为变量指定一个方法返回值,或者使用
[void]
Out Null
丢弃它,否则它也会返回。

谢谢@Andy…我应该添加一些类似的解释。谢谢@Andy…我应该添加一些类似的解释。
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 }
}