複数のアプリケーションにまたがる煩わしいアプリケーション操作の一連の流れを自動化したいと思っています。
ですが、どうしてもサーバアプリからオープンファイルダイアログにファイル名を設定する手段が確立できません。CBTフックでダイアログ生成中にサブクラス化しようとしてもアプリが落ちるし、どうしようか困り果てています。
なにか良い方法をご存知の方はいませんでしょうか?ちなみに、オープンファイルダイアログのクラス名は#32770と思うのですが正しいでしょうか?
他のアプリの表示しているオープンDLGですよね(確認)。
サブクラス化は自アプリ内でしか意味がないので、検討している方法では何もできません。オープンDLGをEnumWindows()で検出して、EnumChildWindows()で当該のエディットを取得し、クリップボード経由でファイル名をペーストするぐらいしか思いつきませんね。
良いアイデアではないですが、"#32770"は、ダイアログ全般のクラス名ですから、これだけで判断するのは難しいです。
完全に手を加える事が出来ない他のアプリのオープンファイルダイアログです。
フックプロシージャをインストールしてフックチェーンの中でサブクラス化する手があります。ただ、問題は、そのタイミングで、ダイアログの生成が完了したと同時にサブクラス化を行いたいんですが、そのタイミングを知るには・・・。という所です。
すいません。自己解決してしまいました。WM_ENTERIDLEが使い勝手が良いです。アドバイス頂いた皆様、どうも有難うございました。
hystrix-cristata さん、こんにちは。フォーラムのご利用ありがとうございました。皆様も有効な情報ありがとうございました。勝手ながら、仲澤@失業者 さんからの情報に回答としてマークさせていただきました。有効な情報には、回答としてマークすることで、今後このスレッドを参照する方の目にとまりやすくなりますので、マークをつけてみてくださいね。今後とも、よろしくお願いいたします。それでは。