#include <comdef.h>
// 打开服务
HRESULT pulhResult = 0;
SC_HANDLE schSCManager;
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (NULL == schSCManager)
{
pulhResult = HRESULT_FROM_WIN32(GetLastError());
// 方法一
_com_error err(pulhResult);
LPCTSTR errMsg = err.ErrorMessage();
wprintf(L"%s",errMsg);
// 方法二
std::string err_msg = std::system_category().message(pulhResult)
printf("%s",err_msg.c_str());
return pulhResult;
}