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;
}