- ベストアンサー
非アクティブな画面を操作する方法について
いつもお世話になっております。 今回は、非アクティブな画面を操作する方法についてご質問させていただきます。 アクティブな画面をVBで操作するのに[SendKeys "{TAB}", True]のように記述すれば当然アクティブ画面では、キーボードのTABキーが押された状態と同じになると思います。 では、非アクティブな画面をVB(VCでも可)で操作する事が可能なのでしょうか? 対処方法や実現方法でも構いません。 何か知っている事がございましたらご教授願います。 環境:VB6.0 SP6
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
どうしてもSendKeyに拘るのなら、処理の間でSleep系のメゾットを使って時間を置きましょう。どれぐらい時間を置けば良いのかはそのPC毎によって異なりますので試行錯誤するしかありません。また他の環境で使う際もその都度微調整する必要があります。 http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_04.html SendKeyよりは高度になりますが、SendMessage や PostMessage が難しいということなら理解するまで勉強しましょう。幾らでも具体的な使い方は懇切丁寧に説明されていますのでまずは検索しましょう。それでも理解できないなら、そもそも無理にプログラムを作ろうとは思わないことです。
その他の回答 (1)
- popesyu
- ベストアンサー率36% (1782/4883)
SendKeysでの対応は運に頼る部分が出てくるのでお勧めはされていません。例えばウィンドウが複数ある場合はどうするつもりなんでしょうか? 確実に操作するなら、例えばウィンドウハンドルを取得するとか。 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t02.htm
補足
早速のご回答ありがとうございます。 VB/VCを使いはじめて数ヶ月ですのでやっとの思いで[SendKeys]の使用方法を理解しました。 popesyu様からの回答をいただき、試行錯誤しましたが残念ながら力量不足でした。申し訳ございません。 補足として[SendKeys]を使用した場合のプログラムを添付させていただきます。 SendKeys "{DOWN}", True '↓キー押下 SendKeys "{RIGHT}", True '→キー押下 SendKeys "{DOWN}", True '↓キー押下 SendKeys "{TAB}", True 'TABキー押下 SendKeys "%", True 'Altキー押下 SendKeys "{RIGHT}", True '→キー押下 SendKeys "{DOWN}", True '↓キー押下 SendKeys "{DOWN}", True '↓キー押下 SendKeys "{ENTER}", True 'ENTERキー押下 ●SendMessage や PostMessage の使用方法、また、引数のMSGについても理解できませんでした。 大変恐縮ではございますが、もう少しご教授願います。
お礼
ご回答ありがとうございます。 SendMessageを勉強し何とか理解してきました。 徐々にですが、思い通りに動き始めています。 SendKey参考URLまで教えていただき、感謝しています。 SendKeyについても更に勉強になりました。