2016-10-28 19 views
0

私は古いexeを持っていますが、私は素晴らしいスクリーンセーバーを作れると思っています。問題は、それを開始するためにエンターキーが押されている必要があることです。タスクスケジューラwin10からのバッチファイルが正常に動作していない

私はこれを達成するために、単純なバッチファイルを書いた:

start cells.exe 
timeout /t 1 
nircmd sendkey enter press 

私は、Windowsのエクスプローラから、それを実行したときに、これは素晴らしい作品...しかし、私はそれがアイドル状態でタスクスケジューラから実行するようにスケジュールするとき、。 exeが実行されますが、キーストロークは決して通過しません。最高の特権でタスクを実行しようとしましたが、それでも同じ動作です。 .exeは実行されますが、キーストロークは受信されません。どんな提案も非常に高く評価されます。

+0

タスクスケジューラから実行されるタスクには、キーストロークなどの入力を取得するコンソールがありません。また、*開始*しません。実行可能ファイルを書きましたが、それを実際のスクリーンセーバーにするために変更するだけでなく、問題を完全に回避するのはなぜですか?特定のアクション(プレビュー、実行など)を行い、拡張機能と場所を変更するように指示するコマンドラインスイッチに応答することです。 –

+0

はい、私はそれがタスクスケジューラからデスクトップが消えるときに、私はGNU "フリー"タスクスケジューラを試してみましたが、それは実行されますが、プレミアムバージョン== $ 30で "アイドル"コードを変更するには、残念ながら私はコードを失い、約8年前には.exeをコピーして、私に送りました。コードは約10,000行です。 – Protium

+0

"start"を使用した.batから生成されたexeはキーストロークを受信しますが、nircmdを使用しています – Protium

答えて

0

タスクスケジューラはバッチファイルを実行するのが難しいので、中間のvbsファイルを入れてタスクスケジューラから実行する必要があります。

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "[FullPath]\StartCells.bat" & Chr(34), 2 
Set WshShell = Nothing 

{あなたのバッチファイルが StartCells.batと呼ばれていると仮定}これはnircmdラインの意図した操作は中断されないように、それにもかかわらず、フォーカスを維持し、最小化ウィンドウでバッチファイルを実行します。

デニス

+0

ありがとう、それは完全に働いた。 – Protium

0

レジストリを編集して、私がスクリーンセーバー用の.batを遵守した.exeを指し示すように編集しました。私はまだそれがタスクスケジューラから実行されない理由を理解していないが、これは質問のための間違ったフォーラムです今理解しています。探してくれてありがとう。

関連する問題