nmtysh.log

Tech系のネタや日々の独り言などを書いています。

Cとバッチでスタートアップを遅延起動

Windows 起動時(正確にはログイン時)に実行されるスタートアップのうち不要そうなものを遅延起動しようと言うことで、遅延起動スクリプトを作成。 ここで問題が、 Windows のバッチでは、 sleep(wait) ができないのです。
裏技的な方法は、 ping localhost -n 60 > nul(60秒sleep) なので、 C で組みました。
C で Sleep(msec) を使うには、windows.h を include して使います。 引数を数値に変換して、 Sleep() を呼び出して終了、なプログラムを作る。
そして、バッチスクリプトから自作した sleep を呼び出せばOK。 具体的に言うと、遅延起動したいアプリケーションのショートカットを1つのフォルダにまとめて、 for %%i in (フォルダ\*.*) do (sleep 1000 ; start /b %%i) もちろん、sleepの場所指定などに変数を使って調整が必要。
最後に、このスクリプトをスタートアップに登録しておしまい。
課題: ・現状だとスタートアップフォルダに登録されているものしか呼び出せない。