現在は以下のように楽天のマーケットスピードを起動させて
マウスマクロソフトでログインしていますが
WSHが動いている最中に別のアプリケーションが自動起動するようなことがあると
ログインに失敗します。
ですのでマウスマクロソフトを使用するのではなくて
該当アプリケーションのウインドウがアクティブ状態でなくても
コマンドを実行させる方法をおしえていただきたいです。
マーケットスピードだけではなくIEやその他メーラー等も操作したいので
イベント(ログ?コマンド?)を監視するなどして
WSHのコマンドを見つけ出す方法などを教えていただきたいです。
よろしくお願いいたします。
●●●現在のVBSの内容●●●●
'マケスピを立ち上げる。
WSHShell.Run """D:\Program Files\MarketSpeed\MarketSpeed\MarketSpeed.exe"""
WScript.Sleep 5000 '5秒ウェイトを入れ起動を待つ。
'この後マウスマクロソフトの起動
'マウスマクロソフトでログイン動作
●●●●●ここまで●●●●●
No.2ベストアンサー
- 回答日時:
ANo.1の補足へのアドバイスです。
質問後半の意図はわかりました。命令を調べて、それらをWSHで実行してやれば、アプリケーション毎に確実に操作できるとお考えですね? しかしそれはアプリケーションを操作する考え方として正しいですけれども、残念ながらWSHのWshShellの機能ではできません。
ご存知かもしれませんが、アプリケーションが操作されるとWindowsは操作されたアプリケーションに対して「メッセージ」を送ります。アプリケーションはメッセージを受け取って対応する処理を行います。例えばメモ帳でメニューが選択されるとWM_COMMANDというメッセージ(選択されたメニューの情報を含む)がメモ帳プログラムに送られ、メモ帳プログラムは情報を見て処理を行います。
アプリケーションにメッセージが送られる様子はメッセージキャプチャプログラムで観察できます。私が使っているのはBorland Delphiに付いてきたWinSightですが、MSでしたら開発ソフトに付いてくるspyでしょうか(?)。これを解析して同様にメッセージを送ってやればアプリケーションを操作できます。
しかしWshShellにはメッセージを送る手段はなく、たかだかキーストロークを送ることしかできません。更に言えばアプリケーションを指定してキーを送れる訳ではなく、AppActivateを使ったとしても、たまたまそのときアクティブなアプリケーションに送ることしかできません。
メッセージを送るプログラムを自作すれば確実に操作できますが、実用上は「静かな状態」で使うか、あるいはSendKeysの直前にAppActivateを実行するようにすればよいのではないでしょうか。
-----
話は変わり、アプリケーションによってはキーを送るのではなく、WSHのCreateObjectメソッドでオブジェクトを作成して操作できるものがあります。例えばMS OfficeはVBAと同様の操作をWSHから行えます。目的に合えばこちらの方法を使うと確実です。IEも可能でMSDNに下記の資料があります。
InternetExplorer Object
http://msdn.microsoft.com/library/default.asp?ur …
WSHでは無理なのですね。
そしてVBでは可能なのですね。
更にメッセージキャプチャに関する情報もありがとうございます。
道のりは険しそうですがなんとか作ってみようと思います。
ありがとうございましたm(__)m
No.1
- 回答日時:
楽天のマーケットスピード及びマウスマクロソフトについてはわからないのですが質問前半にお答えします。
WSHでアプリケーションのウインドウをアクティブにするためにはWshShellオブジェクトのAppActivateメソッドを使います。しかしその時点でアクティブ化に成功したとしても別のアプリケーションがアクティブになる可能性はあり、続く操作が必ず目的のアプリケーションに対して行われるかは保証されません。
私はAppActivateに続けてSendKeysメソッドでネットワークのログイン操作などを行っています。「静かな状態」で起動しており、だいたいうまくいっています。
SendKeysの直前に常にAppActivateを実行するような関数を自作して使えば、誤操作の可能性は減るかもしれません。
質問後半の「WSHのコマンドを見つけ出す方法など」についてはhiro245さんの意図が読み取れませんのでよろしければ補足をお願いします。なお、IEやその他メーラー等の操作のことでしたら、AppActivateとSendKeysの機能の範囲(キー操作の範囲)内で同様に可能です。
この回答への補足
ご回答ありがとうございます。
現在もAppActivateメソッドを利用しております。
全てのコードを書くと逆にわかりにくいかと考え、省略してしまいました。
説明不足で申し訳ございません。
なので失敗は稀なのです。ですが今はその「稀」を修正したいと考えております。
「WSHのコマンドを見つけ出す方法」についてですが、
例えばシステムがアプリケーションに命令を出すとき
システム側からアプリケーションに対して何らかのVBSのようなコマンドみたいなものを実行しているのだと考えているんです。
そこで、それをDOSプロンプトか何かで確認しながら
マウスでログインボタン等を押したりすると
DOSプロンプトに命令コマンドみたいなものがズラズラっと
吐き出されるのではないかと勝手に想像しています。
(イメージとしてはパケットキャプチャみたいな感じです。)
記憶が曖昧ですが以前そのようなことをどこかのHPで読んだ気がします。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Excel(エクセル) Excel-VBAの「しばらくお待ちください」のダイアログが自動的に閉じない 2 2023/05/24 15:31
- サーバー ログオンユーザーがいない場合に自動再起動 1 2022/09/28 09:53
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- UNIX・Linux ubuntuに外部侵入できるか 2 2022/04/09 12:48
- Windows 10 USBにwindows10をいれて起動する方法 5 2022/04/14 14:29
- Windows 10 【Windowsのquery=user:●●;date:先週から;ファイル操作ログの該 1 2023/05/23 18:45
- 日本株 SBI証券HYPER SBI 2のエラー 1 2023/01/31 13:38
- マウス・キーボード Logicool optionsについての質問です。 私が使っているレシーバーはUnifyingです 1 2022/09/22 23:39
- Visual Basic(VBA) VBA 登録ボタンを省略してエンターキーで作業 4 2022/07/09 22:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外字文字の登録
-
【VB.NET】指定時刻にアプリケ...
-
初回接続の遅い原因について
-
使用しているEXEファイルから、...
-
WSH(VBScript)でアプリケーショ...
-
Shell関数の終了を調べる方法
-
自分自身を更新するプログラム
-
C言語でPDFファイルのサイズと...
-
フレームワーク「4.8.1」で、[S...
-
対象のアプリケーションが終了...
-
WoW64経由と通常の32bit起動は...
-
PHPでのsystem関数の処理ができ...
-
C# の OpenFileDialog
-
MFCでコンソール出力
-
VC++2010 画面なしのアプリケ...
-
実行時のコマンドプロンプトを...
-
VB.NETで起動させたExcelの多重...
-
Windowsプログラムのビジー状態...
-
現在起動中のアプリケーション...
-
アプリケーションをVBS(WSH?)で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンソールアプリケーションの...
-
Vba アプリケーションが立ち上...
-
フレームワーク「4.8.1」で、[S...
-
VBSでのSendKeysでの画面の最小化
-
イラストレーターCS4のシリアル...
-
vb6で異なるのプロジェクト間で...
-
初回接続の遅い原因について
-
VB.NETでMessageBoxを表示した...
-
MFCアプリケーションでの終了コ...
-
pccNTmon.exeとntrtscan.exeの違い
-
Windowsプログラムのビジー状態...
-
実行時のコマンドプロンプトを...
-
自分自身を更新するプログラム
-
VB.NETでフォームアクティブの...
-
Accessフォームからの外部アプ...
-
Console Applicationをタスクト...
-
httpd.pidって何ですか?
-
VB.NETで起動させたExcelの多重...
-
vcxprojファイルの修正法???
-
「AcroRd32.exe」これってウイ...
おすすめ情報