[becky-pin:02211] Re: プロファイル/メールボックスを追加するには?
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
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
▼ スレッド
- 2203: Becky-pin SDK for Delphi + Delphi Personal 6 プラグインから、プロファイルやメールボックスを新規に追 Miura Takuma
- └2204: Miura Takuma さんの「[becky-pin:02203] プロファイル/メールボックスを追 加するには?」より… Becky の shinonon
- └2205: ダイアログが肉眼で見えないので、まさか力業とは思いませんでした(^^;)。 ちょっと試してみ Miura Takuma
- └2207: 「新規メールボックスの作成」ダイアログのOKボタンを押させるところまでは 実装できました Miura Takuma
- └2208: Miura Takuma さんの「[becky-pin:02207] Re: プロファイル/メールボックス を追加するには?」より… TCM_S shinonon
- └2209: Tab の parent window (property sheet) に PSM_SETCURSEL では。 -[ Tietew ]-------------------------- メ : tietew‐at‐tietew.net Tietew
- └2210: TCM_SETCURFOCUS, PSM_SETCURSEL どちらも試そうとしたのですが、 どうやらメッセージを投げる以前に、 Miura Takuma
- ├2211: PostMessage(WM_COMMAND, ID_FILE_NEW_MAILBOX, 0); しただけではダイアログは生成されません。その後 B2 本体 Tietew
- │└2212: あ,<20020515153155.42E9.SHINONON‐at‐jcom.home.ne.jp> に書いてある じゃないですか。(^^; -[ Tietew ]------------------ Tietew
- └2215: Miura Takuma さんの「[becky-pin:02210] Re: プロファイル/メールボックス を追加するには?」より… こ shinonon
- └2221: うまいやり方を教えてもらって、振り分け条件の登録などは 自動化できるようになりましたが Miura Takuma