2012年1月27日金曜日

任意のプロセス名、ウインドウハンドルをラップした検索窓アプリ SearchBox.exeの公開

上からダウンロード、.NET FrameWork4が必要。

 

DL後foobar2000と同じディレクトリに放り込む、いつものようにWSHスクリプトを貼り付ける。

 

var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("SearchBox.exe foobar2000 "+window.ID);

 

 

動作風景は上の画像のような感じ。

正直このアプリは新しいfoomciの機能追加のテストアプリを公開したものです。

将来的にはfoomciの動画再生画面の上にコメントを表示させるためのレイヤードウィンドウのテストです。

最近3DCGにばかりやっていて、腕が鈍るのを防ぐ目的で作った。

 

第一引数には、本プログラムSearchBoxのフォームの一つ下に表示するプロセス名を指定します。

Process.GetProcesses().FirstOrDefault(proc => proc.ProcessName == cmd[1]).MainWindowHandle

今回紹介したスクリプトではcmd[1]はfoobar2000が指定されています、これはfoobar2000のメインウインドウのウインドウハンドルを取得する際に利用します。

 

第二引数には、WSH Panel Modの追跡するウインドウハンドルを指定します。

RECT winRect = new RECT();
GetWindowRect(hWnd, ref winRect);
this.Location = new Point(winRect.left, winRect.top);
this.Size = new Size(winRect.right - winRect.left, winRect.bottom - winRect.top);

今回紹介したスクリプトではcmd[2](上のc#コードではIntPtr型に変換されhWndに代入されている)はWSH Panel Modのウインドウハンドルが指定されています、これはタイマーイベントごとにフォームの位置やサイズを変更するのに利用しています。

 

一応潜在的な不具合は解消されていません。その問題点を解決できれば、このアプリケーションのバージョンアップはもとい、コメントを流せるfoomciのが公開出来るものと思っています。

なかなか難しい問題なのですが、早い目に解決して下のレスの内容に答えられるアプリケーション公開を目指していきたいと考えています。

 

646 : 名無しさん@お腹いっぱい。 : 2011/10/08(土) 20:10:13.59 ID:rfI75VGy0 [3/3回発言]

特段もとめてる訳じゃないけど、それいったらスキンもそうでしょ?
何もあんな凝らずとも音は聞ける。むしろ凝らない方が負荷が少なくなって音は良くなる。
動画もスキンもオールマイティ性の1つであって、動画についてはまだマイノリティっていうそれだけのお話。
リリックアートで画像を表示する延長で、背景を動画で歌詞を流せる可能性も出てくる。
そーしたら楽しいでしょ?そーゆう可能性の芽を潰しちゃダメよ。





0 件のコメント:

コメントを投稿