[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 メーリングリストの案内