すべてのWebサイトが正常に稼働していることを確認する小さなコンソールプログラムを作成しました。 Microsoft Windowsタスクスケジューラ を使用して、このプログラムを1日1回自動的に実行します。
問題は、当然のことながら、プログラムが実行されるたびにフォーカスを盗むことです。デスクトップの一番上のウィンドウにならずに開始することをお勧めします。これを達成するための最も簡単な方法は何ですか?もちろん、EXEを書き直してバックグラウンドウィンドウを作成する(またはウィンドウをまったく作成しない)こともできますが、タスクスケジューラに「フォーカスを盗まない」などのオプションがあると便利ですが、それも不可能かもしれません。 .。。
タスクスケジューラに、コンソールプログラムを開くvbscriptを実行させることができます。 vbscriptは、Shell Runメソッドを使用して、次のように最小化して開くことができます。
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad.exe", 6, true
これに関するいくつかの基本的な情報が http://ss64.com/vb/run.html にあります。
アプリケーションを直接呼び出さないでください。 最小化を開始するショートカットから実行します。
私はあなたができると思います また 同じ効果を得るために/start /min
を使用するバッチファイルをミックスに追加しますが、最小化されたショートカットから呼び出されない限り、バッチファイルはフォーカスを奪うと思われます。
編集:start /min
は非常に短時間フォーカスを盗みますが、新しいコマンドラインウィンドウを呼び出す.cmd
バッチファイルを使用して(cmd.exeを使用)、私のマシンで機能します。
私のバッチファイルは次のようになります。
@echo off
cls
start /min C:\Users\Randolph\Desktop\shortcut.lnk
ショートカット自体はcmd.exe
を開き、最小化されて開くことを除いて、デフォルトのオプションが選択されています(オプションRun:
はMinimized
に設定されています)。
この構文により、start/minアイデアが機能します。
%comspec%/ c start ""/min "C:\ Scripts\Destination_inbound_ftp5.bat"