[becky-pin:02211] Re: プロファイル/メールボックスを追加するには?

2211
Subject:
[becky-pin:02211] Re: プロファイル/メールボックスを追加するには?
From:
Tietew <tietew@...>
Date:
Wed, 22 May 2002 00:36:34 +0900
X-Mailer:
Becky! ver. 2.00.11
Message-Id:
<20020522001847.76E3.TIETEW‐at‐raug.net>
In-Reply-To:
2210
References:
2209 2210
Tietew です。

On Tue, 21 May 2002 23:08:09 +0900
In article <20020521230412.6CEC.MUELLER@csc.jp>
[[becky-pin:02210] Re: プロファイル/メールボックスを追加するには?]
Miura Takuma <mueller@...> wrote:

>  TCM_SETCURFOCUS, PSM_SETCURSEL どちらも試そうとしたのですが、
>  どうやらメッセージを投げる以前に、アカウント設定画面を
>  FindWindowできていないようなのです。
>
>  ↓これらのプロシージャを PostMessage で次々に呼び出しているのですが・・
>  もしかして、「メールボックスの設定」ダイアログが生成される前に
>  ControlBoxDialogが実行されてしまっているのでしょうか・・・

PostMessage(WM_COMMAND, ID_FILE_NEW_MAILBOX, 0);
しただけではダイアログは生成されません。その後 B2 本体のメッセー
ジポンプが回らなければ成りません。

かといって GetMessage -> DispatchMessage すると,ダイアログが閉
じるまで制御が帰ってきません :-)

BkNews はどうやってるんでしょうか?>しののんさん〜
別スレッド?

私なら SetWindowsHookEx で WH_CBT をフックしてダイアログの生成を
捕まえ,そこでサブクラス化して WM_INITDIALOG を引っかけて適当に
コントロールに値を突っ込んでから PostMessage(WM_COMMAND, IDOK)
してしまうんじゃないかと思います :-p
# あー,CreateDialogIndirectParamA をフックしないとダメかな?

> // 「新規メールボックスの作成」ダイアログを探し出して操作
> procedure ControlNewBoxDialog(h : HWND; LPARAM : Longint); stdcall;
> var
>   hDialog: hWnd;
> begin
>   hdialog := FindWindow( '#32770', '新規メールボックスの作成');
>   if hdialog=0 then exit;
--ここ
>   hdialog := FindWindowEx( hDialog, 0, 'Button', 'OK' );
>   if hdialog=0 then exit;
>   SendMEssage( hdialog, WM_LBUTTONDOWN,0,0);
>   SendMessage(hdialog,WM_LBUTTONUP,0,0);
--は
SendMessage(hdialog, WM_COMMAND, IDOK, 0);
だけでオッケー。




—[ Tietew ]——————————————————————————
メ : tietew@... / tietew@... / tietew@...
ホペ: http://www.tietew.net/     Tietew Windows Lab.
     http://www.masuclub.net/   鱒倶楽部
指紋: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA

スレッド

Navigation

検索

[検索ヘルプ]

Maintener: Tietew <www.tietew.jp>
Powered by Ruby on Rails, Mongrel, PostgreSQL, and Hyper Estraier.
click here