web-dev-qa-db-ja.com

起動時にWindowsプログラムの起動を遅らせますか?

Windowsの場合XP私は18のプログラムを使用しています。起動時に、すべてのプログラムをロードするのに2〜3分かかります。アンチウイルス、トランスレータ、アンロック、ファイルインデクサ、ダウンロードマネージャ、インスタントメッセンジャーなど。

私はそれらすべてを必要とし、それらはWindowsシステムトレイにあり、使用するのを待っています。頻繁に使用するため、削除することはできません。毎日5-6回。

しかし、私はスタートアップでそれらを必要としません。これらのプログラムの読み込みを遅らせるにはどうすればよいですか。

例:-ウイルス対策、ファイルインデクサー:起動時-翻訳者、ダウンロードマネージャー、ロック解除者:起動後5分など.

どのようなソリューションをお勧めしますか?

15
trante

Startup Delayerがタスクを実行します: http://www.r2.com.au/page/products/show/startdelay

11
Matthijs

Windows XP/Vista/2008でJeffyが以前に提案したpingコマンドの代わりに、バッチファイルでタイムアウトコマンドを使用します。

構文:timeout /t seconds

@echo off

rem for 5mins delay..

timeout /t 300

rem starting delayed start programs

start cmd /C "C:\Some\Path\To\A\Program.exe"

start cmd /C "C:\Some\Path\To\A\Shortcut.lnk"

start notepad

追伸カウントダウンを表示したくない場合は、次のように出力を破棄できます:timeout /t 300 > nul

6
paparoun
  1. 「5minsdelayStart」というバッチファイルを作成します。

     @ echo off 
     remは300000ミリ秒(5分)スリープしています
     ping -n 1 -w 300000 -4 10.0.0.0> NUL 
     
     rem遅延開始プログラムの開始
     start cmd/C "C:\ Some\Path\To\A\Program.exe" 
     start cmd/C "C:\ Some\Path\To\A\Shortcut.lnk "
    
  2. 下部のコマンドを、5分の遅延後に起動するものに置き換えます。

  3. このバッチファイルをスタートアップフォルダーに追加します。

:代わりに、バッチファイルへのショートカットを作成し、起動オプションを設定して、バッチファイルを最小化して開始することができます。どちらの場合も、バックグラウンドでコマンドプロンプトが表示されますが、少なくとも最小化されていれば、それほど侵入されることはありません。

また、ネットワーク上の何らかの理由で10.0.0.0が実際に有効なものにルーティングする場合は、そのIPアドレスを別の何か(ルートがないもの)に変更する必要があります。

3
Jeffy

実際、どちらの答えにもメリットがあります。固定の時間遅延を設定することは、時間の経過とともにニーズが変化するため、最善の方法とは言えません。残りのロードを一度に開始するために設定された遅延は、通常の「Windowsの待機」を実行しているときにそれらを開始するよりもさらに不便な場合があります。

大量のアイテムがある場合、バッチに引数を追加することを検討します"continue to wait?Y/N"。または、アクティビティに基づいた自動タイミング拡張にすることもできます。 (つまり、キーボードアクティビティがない時間が進むまで待ちます)。どちらの方法でも、これをロットごとに(それぞれ別のタイミングのアクションとして)実行しない限り、起動後5分間すべて実行すると、開始前にすべて実行するのと同じかそれ以上に悪いことに気付く場合があります。

これらがすべて絶対に必要な場合は、一度に1つずつ実行し、それでもアクティビティがないかどうかを確認してから次を実行することをお勧めします。もちろん、起動時に必要なのはあなただけです。一部のクイックオン/オフエピソードではまったく必要ないものもあります。正しい順序で配置した場合、電源を切る前に到達することはありません。

別の可能性は、ロードをロードされるものの必要性に結び付けることです。インターネットに接続していない場合、または電子メールやその他の「リスクの高い」アクティビティを使用していない場合は、AVソフトウェアをロードしないことを検討してください。これらのアクティビティに「まだ実行されていない場合は、最初に実行する」というコマンドを追加すると、ローカルのゲームなど、すべての動きをチェックして再チェックする必要のないものの速度が大幅に向上します。スタートアップをそれを必要とするプログラムに結びつけるだけです。

考慮すべきもう1つのオプションは、「サービスとして実行」するためにできる限り多くの設定を行うことです。これは、通常、「プログラムの開始」シーケンスを実行するよりもアクティブになるまでの時間が短いようです。

参考までに、「StartMan」と呼ばれる非常に便利なユーティリティを何年にもわたって多くの人々に提供してきました。GoogleやFreeで簡単に見つけることができ、他にも確かにあります。 Win98からWin7まで試したWindowsのすべてのバージョンで動作します。これにより、スタートアップ構成に永続的な変更を加えなくても、スタートアッププログラムをより詳細に制御し、生産的でないものを簡単に元に戻すことができます。

2
questorfla

まず、起動時に実行から削除します。
次に、それらすべてを実行するバッチプログラムを作成します。
コンピュータの起動が完了したら、最初にバッチプログラムを実行してすべてをロードします。

1
Ivan

First remove them from run at startup." 私は言わなければならない:

すべてのアプリが機能するわけではなく、実行時にそれらをレジストリに再追加するアプリもあります。

したがって、スタートアップレジストリキーを削除しても、アプリを強制終了した後にレジストリキーが削除されない限り、次回の起動時に実行されない可能性があります。

私が見つけた最悪のケース(スキャンされたドライバー)は、アプリの起動時に起動し、そのようなアプリにはGUIがありませんが、「システム」プロセスで自己ロックするため、「システム」を殺さない限り、殺せません(そうすることで警告) = BSOD)、レジストリの変更をロック/フックした場合も、キーを削除した後、再び表示されます。アプリは強制終了できないため、次回の起動時にアプリが実行されないようにすることはできません。ソリューションのみが機能します(フォーマットせずに):Linuxから始めて、そのようなアプリを削除し、二度と再インストールしないでください...しかし、これは「ドライバー」なので、USBが起動するとすぐに再インストールされます(デバイスが接続されていない場合も同様) )、すべてのUSBエントリ、ドライバー、ファイルなどを削除し、Linuxで再起動してアプリを削除する必要があります。

私は「通常の」アプリについては非常に簡単であることを理解しています...起動レジストリキーを削除し、そのようなコマンドを.lnkファイル(ショートカット)に配置してから、スクリプトから.lnkを実行して、それらの間でスリープ状態にする必要があります。 ..または、1分で異なるもの、5分で異なるものなど、それをスクリプト化してすべてのスクリプトを並行して呼び出すため、それぞれが異なる時間待機することができます。

しかし、それらが実行されるとすぐに、または閉じられたとき、または最悪の場合にレジストリに自分自身を読み込んだもの(Java Updaterなど)をどうするか...彼らは、レジストリで欠落したキーを検出するとすぐに実行されます、など.

自動起動しないオプションがあるものもあれば、ないものもあります。

「ノーマル」の場合、それは非常に優れており、うまく機能します...そのため、「醜い」と言いましょう。何ができるでしょうか。アプリを強制終了/終了した後、シャットダウン後にレジストリキーを削除する以外は何もしません。

シャットダウンの最終段階で削除したいkayレジストリキーを設定できるプログラムはありません。シャットダウンの初期段階で実行している人がいます...しかし、他のアプリがまだ実行されていることを制御できません(できます)シャットダウンの順序を設定しない)ため、regキーが削除されるとすぐに、まだ実行されているものがある場合は、実行されているものが再度追加されます。

私は自分の解決策を得ました(非常に厄介なことですが、認める必要があります)。このようなレジストリキーは、管理者権限なしでロックします。特定のユーザーの使用権限がある場合のみ、そのため、(システムの特別なユーザーとして実行されていない)アプリは管理者権限で実行されます変更できません...一部のアプリでは警告が表示されます。このようなレジストリキーは変更されないため、起動時に実行を続けることを拒否するため、4ステップのスクリプトを実行して起動する必要があります...許可する権限を設定し、アプリを実行します少し待って、権限を許可しない(admin)ように設定しますが、特定のユーザーを許可し、キーを削除します(スクリプトの権限はユーザー権限であるため、許可されます)...そして、アプリが再度追加しようとすると、幸運なことにアプリが突然終了しない場合、それはできません。それ以外の場合は、レジストリをシャットダウンするまでそこに置かなければなりません...そのような場合は、レジストリキーを削除するスケジュールタスクを追加してください...レジストリキーを覚えておくことができます.regを起動して削除することもできます。そのためのアプリを作成する必要はありません。

など、私はいくつかのフリーウェアツールがそのようなものが実装されていることを望みます、しかし私はまだ誰も、有料のものも見つけませんでした。

0
claudio

コマンドスクリプトの代わりにWindowsスクリプトを使用できます。 Windows XPでサポートされるはずのSleep()メソッドがあります。可視ウィンドウなしで実行され、実行されたプログラムウィンドウの可視性を構成できます-非表示、通常、または最小化。

Windowsスクリプトシステムを使用する前に、*。vbsファイルを実行するように設定されているかどうかを確認する必要があります。

以下は、 "DelayedStart.vbs"などの "VBS"拡張子が付いたファイルに配置し、スタートメニューのStartUpフォルダーに配置するサンプルスクリプトです。

Set Shell = WScript.CreateObject("Wscript.Shell")

WScript.Sleep(5000)
Shell.Run """C:\Program Files\Debug\MemInfo\meminfo.exe""", 2, False
Shell.Run """C:\Windows\System32\taskmgr.exe""", 2, False

rem True=wait until exits
rem Window: 0=hidden, 1=normal, 2=minimized
rem Shell.Run """notepad.exe"" ""argument with space""", 1, False
rem Shell.Run "notepad.exe """ & WScript.Arguments.Item(0) & """", 1, True
0
bomanz