Win32API サービスの表示名に関連付けられているサービス名を取得する GetServiceKeyName
サービスの表示名に関連付けられているサービス名を取得するには、GetServiceKeyName関数を取得する。
「サービスの表示名」とは、以下のサービスのプロパティダイアログの赤枠で囲まれた文字列である。
GetServiceKeyName関数のプロトタイプは、以下のようになっている。
BOOL GetServiceKeyName( SC_HANDLE hSCManager, // SCM データベースのハンドル LPCTSTR lpDisplayName, // 表示名 LPTSTR lpServiceName, // サービス名 LPDWORD lpcchBuffer // サービス名バッファのサイズ );
#include <windows.h> #include <stdio.h> int main() { SC_HANDLE hSCM; TCHAR szServiceName[256]; DWORD dwSize; hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); if (hSCM == NULL) { return 1; } dwSize = sizeof(szServiceName)/sizeof(szServiceName[0]); GetServiceKeyName(hSCM, TEXT("ASP.NET 状態サービス"), szServiceName, &dwSize); _tprintf(TEXT("%s\n"), szServiceName); CloseServiceHandle(hSCM); return 0; }
aspnet_state
http://msdn.microsoft.com/ja-jp/library/cc429143.aspx