2017年11月27日

Windowsストアアプリとタスク マネージャーとリストビュー

一昨日、ListView to CSVをアップデートした際の更新項目のうち「本ソフトを管理者権限で起動する必要があるケースとして、取得対象プログラムが管理者権限で動作している場合の他に、取得対象プログラムがWindowsストアアプリの場合もあったため」の部分については、ユーザーからの1件の問合せがきっかけでした。

Windows 10で「タスク マネージャー」を対象にListView to CSVを実行しようとしたとき、一覧に「タスク マネージャー」内のリストビューやツリービューが表示されないのです。

ただし「表示>設定」から「管理者権限で動作する」をONにしてやると、一覧に「タスク マネージャー」内のリストビューやツリービューが表示されるようになります。

lv2csvadmj.jpg

ストアアプリはWindowsによって、ウイルスなどの脅威から攻撃されないために特殊な保護管理下にあるため、管理者権限のアプリからでないと、中を覗くことができない仕様になっているのだと考えられます。


ただし、それでもなお、タスク マネージャーに表示されているリストの中には、ListView to CSVの一覧に表示されないものが残っています。具体的には、

#タブListView to CSVの一覧に表示されるか
1プロセス表示されない
2アプリの履歴表示されない
3スタートアップ表示されない
4詳細表示される
5サービス表示される

となっています。
気になったので、これらがどんなコントロールで実現されているのか、Spy++で調べてみることにしました。

lv2csvadmj2.jpg

なんと、タスク マネージャー内にはリストビューコントロールは2つしかありません。
(おそらく、「詳細」タブと「サービス」タブのものでしょう)

他の3つはリストビューではないし、そもそも、コントロールの形状を採っているかどうかも定かではありません。
該当物を示すコントロール名すら表示されていないので、もしかしたら、画面上に直接、グラフィック描画をしているのかもしれません。

よくよく見てみると、上記画像の「> ATOKスタートアップツール(7)」のように、「>」という表示が付けられているものがあります。これは項目をツリー展開できる表記なのですが、これはリストビューの機能ではなく、タスク マネージャーが独自実装
している機能と推察されます。

ListView to CSVは、リストビューの仕様に則ってデータの吸い出しを行うツールなので、残念ながらこの状態のデータを吸い出すことができないことが判明しました。
(コントロールの形状を採っていなさそうなので、取得先のターゲットを定めることができませんし、仮に取得先が定まっても、データ形状が不明)

似たような状況は、Windows 7のエクスプローラーでも起こったことがあります。
エクスプローラーのファイルのリストは、リストビューではありません。リストビューに似せて作られた何かです。
そのため、ListView to CSVの取得対象になりませんでした。

その後、Windows 10のエクスプローラーはリストビューに戻ってきてくれましたので、再び取得対象となってくれました。
今度は、タスク マネージャーの一部が、そうなってしまったようです。

今後のWindows 10のアップデートで、タスク マネージャーが戻ってきてくれるか、はたまたさらに遠くに行ってしまうのか…注意深く見守っていきたいと思います。


posted by ayacy at 00:00 | Comment(0) | TrackBack(0) | プログラミング
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/181677971
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック