Net Framework 4などのAPIをインストールせずに、Win 7のすべてのサービスの完全なリストを取得する方法はありますか?できるだけネイティブにリストを取得したい。
4 に答える
cmd コンソールを管理者として実行し、「sc query type= service state= all」を実行します。
Win API OpenSCManager関数を使用して、 EnumServicesStatusでサービスとそのステータスを列挙できます。
デベロッパー センターにサービス API の完全なリファレンスがあります。
ツールWmi Code Creatorをダウンロードします。C#、VB.Net、または Visual Basic Script で WMI クエリを作成するのに役立ちます。
これはVBScriptを使用したソリューションです
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery( _
"SELECT * FROM Win32_Service",,48)
For Each objItem in colItems
Wscript.Echo "-----------------------------------"
Wscript.Echo "Win32_Service instance"
Wscript.Echo "-----------------------------------"
Wscript.Echo "DisplayName: " & objItem.DisplayName
Next
WMI とは何ですか? ( http://technet.microsoft.com/en-us/library/ee692772.aspxより)
Windows Management Instrumentation は、コア Windows 管理テクノロジです。WMI を使用して、ローカル コンピュータとリモート コンピュータの両方を管理できます。WMI は、プログラミング言語またはスクリプト言語を使用して日常の管理タスクを実行するための一貫したアプローチを提供します。たとえば、次のことができます。
* Start a process on a remote computer. * Schedule a process to run at specific times on specific days. * Reboot a computer remotely. * Get a list of applications installed on a local or remote computer. * Query the Windows event logs on a local or remote computer.
WMI の「計装」という言葉は、自動車のダッシュボード計器がエンジンの状態に関する情報を取得して表示できるように、WMI がコンピュータ システムの内部状態に関する情報を取得できるという事実を指します。ディスク、プロセス、または Windows システムにあるその他のオブジェクトなどのオブジェクトをモデル化することによる、WMI の「手段」。これらのコンピューター システム オブジェクトは、Win32_LogicalDisk や Win32_Process などのクラスを使用してモデル化されます。ご想像のとおり、Win32_LogicalDisk クラスはコンピューターにインストールされた論理ディスクをモデル化し、Win32_Process クラスはコンピューター上で現在実行されているプロセスをモデル化します。クラスは、Common Information Model (CIM) と呼ばれる拡張可能なスキーマに基づいています。CIM スキーマは、Distributed Management Task Force (http://www.dmtf.org) の公開標準です。
WMI 機能には、イベント処理、リモート処理、クエリ、ビュー、スキーマに対するユーザー拡張機能、インストルメンテーションなども含まれます。 http://technet.microsoft.com/en-us/library/ee692772.aspx
これが役立つかどうかはわかりませんが、コマンドラインに移動して net start と入力すると、実行中のサービスのリストを表示できます
これにより、実行中のものの優れたリストが表示されます。