PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
6824 99/06/16 15:58:54 RE(7):Win32API(FindWindow)について(おまけレスのおまけ) By Taka
6819 99/06/16 15:20:38 RE(6):Win32API(FindWindow)について(おまけレス) By O.Takagi
6737 99/06/14 14:10:49 RE(5):Win32API(FindWindow)について(おまけレス) By M.M
6731 99/06/14 11:17:17 RE(4):PB5.0.04: 5.0.02から04にバージョンアップしたらAPI(FindWIndow)が変になりました。 By O.Takagi
6729 99/06/14 11:12:27 RE(3):PB5.0.04: 5.0.02から04にバージョンアップしたらAPI(FindWIndow)が変になりました。 By Taka
6727 99/06/14 10:49:12 RE(2):PB5.0.04: 5.0.02から04にバージョンアップしたらAPI(FindWIndow)が変になりました。 By O.Takagi
6712 99/06/11 16:42:36 RE(1):PB5.0.04: 5.0.02から04にバージョンアップしたらAPI(FindWIndow)が変になりました。 By M.M
6710 99/06/11 16:25:22 PB5.0.04: 5.0.02から04にバージョンアップしたらAPI(FindWIndow)が変になりました。 By O.Takagi

カテゴリ:スクリプトの記述
日付:1999年06月16日 15:58 発信者:Taka
題名:RE(7):Win32API(FindWindow)について(おまけレスのおまけ)

O.Takagiさん、こんにちは。

>下のようにした場合、ウィンドウクラスがPBバージョンアップと共に変わってもソースをいじる必要がないんです
ね。
>でも、すこしレスポンスが悪いような気がします。気のせいかもしれませんが、上の方が若干早いような。

FindWindow関数でクラス名を与えない場合、OS配下でインスタンス化されているすべてのウィンドウを
探しに行くので、若干遅くなる場合があります。
これを回避したいのであれば、GetClassName関数でクラス名を取得してからFindWindowすると良いです。

外部関数宣言
function long GetClassName( long hdl, ref string cls, long byt ) &
library \'user32.dll\' alias for \'GetClassNameA\'

使い方
string cls
cls = Space(100)
GetClassName( Handle(parentまたはthisなど), cls, 100 )

これで、cls にクラス名が格納されます。(失敗した場合は戻り値=0)

でも、余計なオーバーヘッドがかかってパフォーマンスはあまり変わらなかったりして...


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.