fix: #34 Problems when enum services
This commit is contained in:
@@ -30,6 +30,10 @@ VOID CServicesManager::SendServicesList()
|
|||||||
LocalFree(szBuffer);
|
LocalFree(szBuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef skCrypt
|
||||||
|
#define skCrypt(p) p
|
||||||
|
#endif
|
||||||
|
|
||||||
LPBYTE CServicesManager::GetServicesList()
|
LPBYTE CServicesManager::GetServicesList()
|
||||||
{
|
{
|
||||||
LPENUM_SERVICE_STATUS ServicesStatus = NULL;
|
LPENUM_SERVICE_STATUS ServicesStatus = NULL;
|
||||||
@@ -88,31 +92,68 @@ LPBYTE CServicesManager::GetServicesList()
|
|||||||
QueryServiceConfig(hServices,ServicesInfor,4*1024,&dwResumeHandle);
|
QueryServiceConfig(hServices,ServicesInfor,4*1024,&dwResumeHandle);
|
||||||
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
if (ServicesStatus[i].ServiceStatus.dwCurrentState!=SERVICE_STOPPED) //<2F><><EFBFBD><EFBFBD>״̬
|
ZeroMemory(szRunWay, sizeof(szRunWay));
|
||||||
{
|
switch (ServicesStatus[i].ServiceStatus.dwCurrentState) {
|
||||||
ZeroMemory(szRunWay, sizeof(szRunWay));
|
case SERVICE_STOPPED: {
|
||||||
lstrcat(szRunWay,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
lstrcatA(szRunWay, skCrypt("ֹͣ"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_START_PENDING: {
|
||||||
|
lstrcatA(szRunWay, skCrypt("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_STOP_PENDING: {
|
||||||
|
lstrcatA(szRunWay, skCrypt("ֹͣ<EFBFBD><EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_RUNNING: {
|
||||||
|
lstrcatA(szRunWay, skCrypt("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_CONTINUE_PENDING: {
|
||||||
|
lstrcatA(szRunWay, skCrypt("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_PAUSE_PENDING: {
|
||||||
|
lstrcatA(szRunWay, skCrypt("<EFBFBD><EFBFBD>ͣ<EFBFBD><EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_PAUSED: {
|
||||||
|
lstrcatA(szRunWay, skCrypt("<EFBFBD><EFBFBD>ͣ"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
lstrcatA(szRunWay, skCrypt("δ֪"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
ZeroMemory(szRunWay, sizeof(szRunWay));
|
|
||||||
lstrcat(szRunWay,"ֹͣ");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(2==ServicesInfor->dwStartType) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //SERVICE_AUTO_START
|
ZeroMemory(szAutoRun, sizeof(szAutoRun));
|
||||||
{
|
switch (ServicesInfor->dwStartType) {
|
||||||
ZeroMemory(szAutoRun, sizeof(szAutoRun));
|
case SERVICE_BOOT_START: {
|
||||||
lstrcat(szAutoRun,"<EFBFBD>Զ<EFBFBD>");
|
lstrcatA(szAutoRun, skCrypt("<EFBFBD>ں<EFBFBD>"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if(3==ServicesInfor->dwStartType) //SERVICE_DEMAND_START
|
case SERVICE_SYSTEM_START: {
|
||||||
{
|
lstrcatA(szAutoRun, skCrypt("ϵͳ"));
|
||||||
ZeroMemory(szAutoRun, sizeof(szAutoRun));
|
break;
|
||||||
lstrcat(szAutoRun,"<EFBFBD>ֶ<EFBFBD>");
|
}
|
||||||
|
case SERVICE_AUTO_START: {
|
||||||
|
lstrcatA(szAutoRun, skCrypt("<EFBFBD>Զ<EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_DEMAND_START: {
|
||||||
|
lstrcatA(szAutoRun, skCrypt("<EFBFBD>ֶ<EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SERVICE_DISABLED: {
|
||||||
|
lstrcatA(szAutoRun, skCrypt("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
lstrcatA(szAutoRun, skCrypt("δ֪"));
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if(4==ServicesInfor->dwStartType)
|
|
||||||
{
|
|
||||||
ZeroMemory(szAutoRun, sizeof(szAutoRun)); //SERVICE_DISABLED
|
|
||||||
lstrcat(szAutoRun,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dwLength = sizeof(DWORD) + lstrlen(ServicesStatus[i].lpDisplayName)
|
dwLength = sizeof(DWORD) + lstrlen(ServicesStatus[i].lpDisplayName)
|
||||||
|
|||||||
Reference in New Issue
Block a user