none
タスクスケジュラーでvbsを実行させた時にDOS窓を出ない様にする方法 RRS feed

  • 質問

  • Windows2008 Serverのタスクスケジュラーで、あるツールを実行して表示された画面にKeyコマンドを送くる(初期値から二段下がったところを選択してEnter)を実行したいのですが、DOS窓が表示されてフォーカスがツールの画面に移りません。何かいい方法を教えて頂けませんか?

    -------<下記の簡単なものです>----------------------------------

    Set WshShell=Wscript.CreateObject("Wscript.Shell")
    WshShell.Run("d:\tools\tool.exe , 3, True")
    WScript.Sleep(3000)
    WshShell.SendKeys("{DOWN 2}")
    WshShell.SendKeys("%R")   <-------------------Rはツールの実行のショートカット
    WshShell.SendKeys("{ENTER}")

    2012年6月20日 10:00

すべての返信

  • 自信なしです。試した後、あるいは効果なしだったりしたら、すみません。

    cscript で VBS が実行されていると言うことなのかな。
    wscript で実行させるようにすると回避できたりしませんか?

    2012年6月20日 14:21
  • 返信ありがとうございます。

    構文の先頭でSet WshShell=Wscript.CreateObject("Wscript.Shell")

    といれているのでWSCと思ってます。CSCを調べてみます、ありかとうございます。

    2012年6月21日 3:21
  • 先頭の構文がどうとかではなく、タスクスケジューラでスクリプトを直接指定するのではなく、wscript.exe を指定し、引数に VBS を指定するというイメージでした。
    2012年6月21日 13:56
  • SendKeys の前に AppActivate で目的のウィンドウをアクティブにしてはどうでしょう?

    2012年6月21日 14:04