DWORD MonitorSCardSvrStatus()
{
SC_HANDLE schSCManager, schService;
int ret = 0;
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT);
if (NULL != schSCManager)
{
schService = OpenService(schSCManager, _T("SCardSvr"), SERVICE_QUERY_STATUS);
if (NULL != schService)
{
SERVICE_STATUS status;
int res;
res = QueryServiceStatus(schService,&status);
if (0 != res)
{
if (status.dwCurrentState == SERVICE_RUNNING)
{
ret = 1;
}
}
CloseServiceHandle(schService);
}
CloseServiceHandle(schSCManager);
}
return ret;
}
发布评论