[Tokyo.pm] Tk のhwnd を取得する方法
matsumotoya
matsumotoya @ om.jalinfotec.co.jp
1999年 7月 22日 (木) 21:48:44 CDT
松本です。とりあえず取得できてると思います。
use Tk;
use Win32::GUI;
use strict;
no strict 'refs';
my ($mw);
$mw = new MainWindow;
$mw->title("neko");
$mw->after(200,\&start);
MainLoop;
sub start
{
my ($desktop,$window,$title);
$desktop = GUI::GetDesktopWindow();
print "Desktop Window: $desktop\n";
$window = GUI::GetWindow($desktop, GW_CHILD);
while($window) {
$title = GUI::Text($window);
printf("%16d: %s\n", $window, $title) if $title eq "neko";
$window = GUI::GetWindow($window, GW_HWNDNEXT);
}
}
goichi @ mb.kcom.ne.jp wrote:
>
> matsumotoya wrote:
> >
> > To:皆様
> >
> > 松本です。TK+Win32::GUI を使うと何とか hwnd を取得できました。
> > Neko.pl に Win32::GUI のsample の winlist.pl を組み合わせてみました。
> > MailLoop; に入った後に Noko の title の Window の hwnd を取得
> > すればいいので after を使って hwnd を取得する必要があります。
> > もっとスマートにできる方法はないのでしょうかね。
>
>
> 原田@完全に先頭ランナーの背中が見えなくなった人、です。
>
> えっと、現在の私の知識では、
>
> 「文脈から判断するに、hwndとは食物ではないらしい。」
>
> 位の知識ですので、大外しかもしれませんが、
>
> Tk::Widget (注、Tk::widgetsではありません。)
>
> の、ドキュメントの$widget-gtidあたりにそれらしい事が書いてあるような気が
> します。
>
> それと、松本さんが書かれておられる winlist.pl とは何処にインストールされ
> てる物なんでしょうか?(汗)
> 出来ましたら、サンプルコードなんかも見せて頂けるとうれしいです。
>
> ---------------------------------------
> Goichi Harada
> E-mail goichi @ mb.kcom.ne.jp
Tokyo-pm メーリングリストの案内