17

PowerShell または VBScript を使用して、Windows タスク マネージャー内の [アプリケーション] タブに表示されるように、実行中のアプリケーションのリストをプログラムで取得する必要があります。

これまでに見つけたのは、VBScript と WMI を使用してプロセスを一覧表示する方法だけです。

4

5 に答える 5

23

これにより、PowerShellに近づくことができます。

get-process | where-object {$_.mainwindowhandle -ne 0} | select-object name, mainwindowtitle

または短いバージョン:

gps | ? {$_.mainwindowhandle -ne 0} | select name, mainwindowtitle
于 2008-10-10T14:22:14.297 に答える
9

@Steven Murawski: mainwindowhandle を使用すると、もちろん実行中のプロセスが表示されることに気付きましたが、[アプリケーション] タブには表示されません。Explorer や UltraMon などのように。私が遭遇したプロセスにはウィンドウ タイトルがなかったので、代わりに mainwindowtitle をオフにすることができます。

gps | ? {$_.mainwindowtitle.length -ne 0} | select name, mainwindowtitle
于 2008-10-13T22:15:01.097 に答える
7

あなたが探しているコマンドラインから:

tasklist /v/v冗長であり、「各プロセスで実行されているアプリケーション」のリストが含まれます

tasklist /v /fi "imagenaem eq POWERPNT.EXE" たとえば、POWERPNT.EXEプロセスで実行されているアプリケーションのみをフィルタリングするために使用できます。

于 2012-11-21T18:22:12.380 に答える
5

これでうまくいくはずです:

Set Word = CreateObject("Word.Application")
Set Tasks = Word.Tasks
For Each Task in Tasks
   If Task.Visible Then Wscript.Echo Task.Name
Next
Word.Quit

http://msdn.microsoft.com/en-us/library/bb212832.aspx

于 2008-10-10T13:46:01.577 に答える
1

PowerShell に変換された stahler の回答:

$word = new-object -com 'word.application'

$word.tasks | ? {$_.visible} | 名前を選択

$word.quit()

于 2008-10-11T20:31:31.273 に答える