1

私はperlプログラミング言語を学んでいます。現在実行中のすべてのアプリケーションをチェックするコードまたはアイデアを探しています。これは、Windows アプリケーション用に実装する必要があります。シェル スクリプトでもかまいませんが、追跡する必要があるのは Windows アプリケーションのみです。

これについて私を助けてください。

4

2 に答える 2

1

実行中のアプリケーションのリスト(タスクマネージャーの[アプリケーション]タブなど)が必要な場合は、プロセスを確認するのではなく、開いているウィンドウを列挙する必要があります。

ActivePerl 5.12(x64)でこれを機能させることができました。まず、Win32 :: GuiTest(ppm install Win32::GuiTest)をインストールしました。

use Win32::GuiTest qw/:FUNC/;
use strict;
use warnings;

my @windowlist = FindWindowLike(undef, undef, undef, undef, 1);

foreach my $whandle (@windowlist)
{
    if (IsWindowVisible($whandle))
    {
        my $wintitle = GetWindowText($whandle);
        my $winclass = GetClassName($whandle);
        unless($wintitle eq "" || ($wintitle eq "Program Manager" && $winclass eq "Progman"))
        {
            print GetWindowText($whandle)."\n";
        }
    }
}
于 2012-07-01T01:23:11.137 に答える
0

MS-DOS のタスクリストのようなものは役に立ちます?

基本的に、Windowsタスクマネージャーの「プロセス」タブを吐き出します。の組み込みフィルタリングを使用tasklistするか、本当に perl を使用する場合は、出力を perl スクリプトにパイプすることができます。

于 2012-05-23T14:45:34.347 に答える