web-dev-qa-db-ja.com

起動時にWindowsで1つのプログラムのみを実行し、他のサービスは実行しない

古いラップトップを持っていて、顕微鏡を表示するためだけに使用したいのですが。

Windows 7スターターを実行しているラップトップ。

私がしたいのは、すべてのサービスを無効にして、顕微鏡のプログラムのみを実行させることです。そのため、ラップトップを起動すると、Windowsで起動しますが、特定のプログラムのみが自動的に実行され、他のサービスはバックグラウンドでExplorerも実行されていません。

10
Narzan Q.

次のレジストリ値を変更して、Windowsエクスプローラ以外のプログラムを起動します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell

サービスについては、services.msc

警告:多くのサービスが実行されていないと、さまざまな問題が発生する可能性があります。

11
Steven

すべてのサービスを無効にすることはできません。エクスプローラーを含む多くのサービスは、システムの基本機能に不可欠です。

良いニュースは、無効にできるサービスは簡単に無効にできるということです。

サービスを開き、各サービスに順番に移動して、スタートアップ状態を無効に設定してみます。

コンピューターを頻繁に再起動して、コンピューターが無効なサービスの新しいバッチで正常に読み込まれることを確認します。

除去できるすべてのものを除去するまで繰り返します。

無効にできる決定されたサービスの適切なリソースはBlackViperです: http://www.blackviper.com/service-configurations/black-vipers-windows-7-service-pack-1-service-configurations/

多くの注意深い調査とフィードバックがBlackViperに送られます。BlackViperでのアドバイスにより、多くの労力と苦労を省くことができます。

6
music2myear

ほとんどのサービス(すべてではないにしても)は、レジストリキーHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<service name>の下の値Startを介して制御できます。前述のレジストリキーのCurrentControlSetは、いずれかのControlSet001にリンクされています。またはControlSet002の説明に従って ここ

これで、値「Start」に0〜4の値を設定できます( 参照用のsc構成 ):

  • 0-ブート-ブートローダーによって読み込まれるデバイスドライバーを指定します。
  • 1-システム-カーネルの初期化中に起動されるデバイスドライバーを指定します。
  • 2-自動-コンピューターが再起動されるたびに自動的に開始され、誰もコンピューターにログオンしていなくても実行されるサービスを指定します。
  • 3-要求(手動)-手動で開始する必要があるサービスを指定します。これは、start =が指定されていない場合のデフォルト値です。
  • 4-無効-開始できないサービスを指定します。無効なサービスを開始するには、開始タイプを他の値に変更します。

狂ったサービスを無効にするために必要なサービスを無効にしたためにシステムが起動できなくなった場合に備えて、まずサービスの開始値を確認し、それをマークダウンして、代替の起動メディア(Windowsインストールメディアで実行可能)を用意します。

たわごとが発生した場合は、外部メディアから起動し、コンソールに切り替えます(Shift + F10 IIRC)> regedit> HKEY_LOCAL_MACHINEをポイントし、「ハイブをロード」> <systemdrive>:\Windows\System32\config\SYSTEM。次に、ロードされたHive ControlSet001\Servicesの下を見つけます。Start値をデフォルトに設定すると、以前の間違いを取り消すことができます。

以下は、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesの下にあるすべてのサービスの「デフォルト」(ユーザーによって変更されるまでデフォルトで、その後「デフォルト」になる)の値をリストする小さなバッチスクリプトです。

@echo off
setlocal enabledelayedexpansion
set KEY=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
for /f "tokens=5 delims=\" %%a in ('reg query !KEY! /s /v "start"') do     (
set SERVICE=%%a
for /f "tokens=3" %%b in ('reg query !KEY!\!SERVICE! /v "start" ^| findstr /i "start"') do (
        echo !KEY!\!SERVICE! - "Start" %%d
    )
)
endlocal

上記のコードをdefaultservices.batに貼り付けてdefaultservices.bat > defaultservices.txtとして実行し、後でサービスのデフォルト値を確認するために使用できるテキストファイルを生成します。

3