在Powershell /批处理中按标题分析打开的窗口

时间:2019-05-16 09:59:02

标签: powershell batch-file

我正在尝试使用powershell / batch自动化某些进程,并希望等待窗口弹出。

该窗口显示在taskmgr中,但不会通过cmd中的tasklist命令显示,也不会通过Powershell中的get-process显示。有什么办法吗?

我尝试过的代码:

tasklist /v /fi "windowtitle eq Mapkey unterbrochen"
get-process
get-process xtop | format-list *

我希望在命令中找到“ Mapkey unterbrochen”窗口。它显示在taskmgr中,所以我想应该有可能。

1 个答案:

答案 0 :(得分:0)

尝试以下解决方案:

$extlib = @"
  [DllImport("user32.dll", CharSet = CharSet.Unicode)]
  public static extern IntPtr FindWindow(IntPtr sClassName, String sAppName);
"@

$win32  = Add-Type -Namespace Win32 -Name Funcs -MemberDefinition $extlib -PassThru
$wname  = 'Mapkey unterbrochen' # any existing window name

$handle = $win32::FindWindow([IntPtr]::Zero, $wname ) 

if( $handle -gt 0 ) {
    # windows found
}