• ベストアンサー

WSH(VBScript)でアプリケーションを停止したい

こんにちは。 OSはWIN2K、WSH5.6を使用しています。 WSH(VBScript)で「c:\abc.exe」という アプリケーションを起動してます。 このアプリケーションは複数起動できな いためパラメータを変え連続3回Runメ ソッドで起動しました。 しかし一番最初に起動したものが落ちて いないため2本目以降は起動しません( 1本終わったら閉じるボタンでそのアプ リケーションを終了させると2本目以降 も起動します)。 タスクマネージャーのプロセスにも abc.exeがでていますので2、3本目の 起動前にこれを停止させるスクリプトを 記述したいのですが、どなたかご教授い ただけますでしょうか。 よろしくお願いいたします。

  • enako
  • お礼率62% (298/476)

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

abc.exeというプロセスを停止させるサンプルコードということですよね? for each Process in _ GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _ ("select * from Win32_Process where Name='abc.exe'") Process.terminate Next

enako
質問者

お礼

notnotさん、こんにちは。 うまくいきました! お礼が遅くなってすみませんでした。 どうもありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

おそらく、Runメソッドで実行したコマンドの終了を待つという指定をされているのだと思いますが、その場合、終了しないと次のスクリプトが実行されないので、プロセスを終了させる処理も実行されません。 終了を待たない設定に変えた場合は、プロセスを終了させる前に、コマンドが本当に終了したかどうか調べる必要があります、 それぐらいだったら、abc.exeがお仕事が終わったらちゃんと(自動的に)終了するようにするべきじゃないのかなと思います。

enako
質問者

お礼

BLUEPIXYさん、こんにちは。 お礼が遅くなってすみませんでした。 abc.exeはよそ様から提供されたアプリケーション で設定などの変更はできませんでした。 どうもありがとうございました。

関連するQ&A

  • WSHのrunメソッドではできないのでしょうか?

    VBS(WSH)初心者です。よろしくお願いします。 (質問) 複数の実行ファイル(exeファイル)を、一つづつ(一つ目が終了してから、二つ目を)実行するようにVBSを作りたいのですが・・・うまくいかず、同時に実行されてしまいます。 (詳細) WSHのRunメソッドで終了待ちフラグをTrueにセットし、コマンドの終了を待って次を実行しているつもりなのですが、単純な実行ファイル(notepad.exeとか)であれば、終了を待ってから次へ進んでいくようですが、実行ファイルが別の実行ファイルを呼び出すような場合、先の実行ファイル(のプロセス)が終了した時点で、スクリプトの次(Runメソッドの次の行)を実行してしまうようです。ですからこの場合、画面上では複数の動きが見られることとなってしまい、意図した動きとなりません。 このような場合、どのように修正すれば意図した動きが可能でしょうか?また、もしRunメソッドではできないなら、何か対応策はあるのでしょうか? どうぞよろしくお願いいたします

  • アプリケーションのサービスとプロセスに関して

    あるアプリケーションを使用しているのですが、そのアプリケーションのサービスは開始の状態、タスクマネージャーのプロセスをみると、そのアプリケーションのGUI.exeが表示されています。 しかし、そのアプリケーションが起動せず困っています。 PCのスッペクも十分足りています、また、メーカーへ質問してもこういった現象は確認されていないと回答がありました。 説明が不十分かもしれませんが、他に何か考えられる原因はあるでしょうか? 宜しくお願いします。

  • wshで既に立ち上がっているアプリにアクセスする

    こんにちは、 wshで既に立ち上がっているapplicationにアクセスする方法ってあるのでしょうか。 私の知識では、createObjectでapplicationを起動させてアクセスすることしかできません。 csv書類などをwsf書類にdropdownさせて、それをexcelで展開して加工する。 というscriptを作成しているのですが、 複数のcsvを同時ではなく数回に分けて処理をする場合に いちいち新しいタスクを起動させずに、 同じapplication内で書類を起動させたいというのが趣旨です。 どなたかご教授いただけますでしょうか。

  • HTMLにWSHを組み込む

    HTMLにWSHのコードを書く事は可能ですか? たとえば、ページ開くとNotePad.EXEが起動するようにしたいのですが 以下のような書き方をすると WScriptが宣言されていません。 とエラーになります。 <HTML> <HEAD> <TITLE>起動のテスト</TITLE> </HEAD> <meta http-equiv="Content-Script-Type" content="text/JavaScript"> <BODY> <SCRIPT LANGUAGE="JavaScript"> var title = "メモ帳"; var wsh = WScript.CreateObject("WScript.Shell"); wsh.Run( "NotePad.EXE" ); </SCRIPT> </BODY> </HTML> いい案がある方教えてください。

    • ベストアンサー
    • HTML
  • 起動しているアプリケーション一覧を取得したい

    VBScript等にて、起動しているアプリケーション一覧(タスクマネージャのアプリケーションタグに表示されている)を取得したい 環境は、XPです。 よろしくお願いします。 ※WMIのWin32_Processには、見当たりませんでした

  • vb2005でアプリケーションを開発しています。

    vb2005でアプリケーションを開発しています。 exeを実行中に、タスクマネージャーのプロセス一覧の「説明」に、 そのexeの処理内容を表示したいのですが、vbのプロジェクトで設定できるの でしょうか? よろしくお願いします。

  • WSHでファイルとフォルダのコピーをしたい

    こんにちは。 OSはWindows2000,WSHは5.6を使用しています。 WSH(VBScript)で、同一PC内にあるローカルユーザー「suzuki」のマイドキュメントにある全てのファイル、 フォルダ(サブフォルダ)を「takada」に複写したい のですが、最初はコピーできるのですが、2度目以降、 は既に存在しているのでコピーできません(エラーと なります)。 (スクリプトが分からないので)存在チェックはしており ませんが、どのようにコーディングすればよろしいでしょ うか? どうぞよろしくお願いいたします。

  • アプリケーションをVBS(WSH?)で操作したい

    現在は以下のように楽天のマーケットスピードを起動させて マウスマクロソフトでログインしていますが WSHが動いている最中に別のアプリケーションが自動起動するようなことがあると ログインに失敗します。 ですのでマウスマクロソフトを使用するのではなくて 該当アプリケーションのウインドウがアクティブ状態でなくても コマンドを実行させる方法をおしえていただきたいです。 マーケットスピードだけではなくIEやその他メーラー等も操作したいので イベント(ログ?コマンド?)を監視するなどして WSHのコマンドを見つけ出す方法などを教えていただきたいです。 よろしくお願いいたします。 ●●●現在のVBSの内容●●●● 'マケスピを立ち上げる。 WSHShell.Run """D:\Program Files\MarketSpeed\MarketSpeed\MarketSpeed.exe""" WScript.Sleep 5000 '5秒ウェイトを入れ起動を待つ。 'この後マウスマクロソフトの起動 'マウスマクロソフトでログイン動作 ●●●●●ここまで●●●●●

  • アプリケーションのフリーズを検出したい

    WSH(VBScript)を使って、アプリケーション(GoogleEarth)をコントロールしています。 アプリがフリーズすることがあり、フリーズするとスクリプトはアプリからの応答待ちと思われる状態のまま止まってしまいます。 そこでフリーズを検出し、OSの再起動をかける仕組みを探しています。 VBScriptで何とかしようと思い作成しましたが、効果が得られなかったスクリプトを参考までに載せます。 On Error Resume Next Set ge = WScript.CreateObject("GoogleEarth.ApplicationGE") IF Err.Number <> 0 THEN … END IF 上記の場合、Setの一行でスクリプトが止まります(フリーズではなく、待ち状態だと思います) できれば、VBScriptでの対応をと考えていますが、 他のプログラムでも、公開、発売されているソフトでも構いませんので、 特定のアプリケーションのフリーズ状態(応答無し)を検出できないでしょうか?

  • WSH(Windows Script Host)のデバックはどの様にするのですが。?

    WSH(Windows Script Host)をデバックしたいのでいろいろ調べて Micrsoft Script Debaggerをインストールしました。 そして、コマンドプロンプトでstop行入りのhoge.vbsに対して、 「cscript.exe //X C:\hoge.vbs」及び「wscript.exe //X C:\hoge.vbs」を 実効しましたがデバッガは起動しませんでした。 (Micrsoft Script Debaggerの単独起動は確認済み) 他の方法でも結構ですので、皆さんのWSH(Windows Script Host)のデバックの 仕方を教えて下さい。 では、宜しくお願いします。

専門家に質問してみよう