fix: #34 Problems when enum services
This commit is contained in:
@@ -30,6 +30,10 @@ VOID CServicesManager::SendServicesList()
|
||||
LocalFree(szBuffer);
|
||||
}
|
||||
|
||||
#ifndef skCrypt
|
||||
#define skCrypt(p) p
|
||||
#endif
|
||||
|
||||
LPBYTE CServicesManager::GetServicesList()
|
||||
{
|
||||
LPENUM_SERVICE_STATUS ServicesStatus = NULL;
|
||||
@@ -88,31 +92,68 @@ LPBYTE CServicesManager::GetServicesList()
|
||||
QueryServiceConfig(hServices,ServicesInfor,4*1024,&dwResumeHandle);
|
||||
//<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));
|
||||
lstrcat(szRunWay,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
ZeroMemory(szRunWay, sizeof(szRunWay));
|
||||
switch (ServicesStatus[i].ServiceStatus.dwCurrentState) {
|
||||
case SERVICE_STOPPED: {
|
||||
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));
|
||||
lstrcat(szAutoRun,"<EFBFBD>Զ<EFBFBD>");
|
||||
ZeroMemory(szAutoRun, sizeof(szAutoRun));
|
||||
switch (ServicesInfor->dwStartType) {
|
||||
case SERVICE_BOOT_START: {
|
||||
lstrcatA(szAutoRun, skCrypt("<EFBFBD>ں<EFBFBD>"));
|
||||
break;
|
||||
}
|
||||
if(3==ServicesInfor->dwStartType) //SERVICE_DEMAND_START
|
||||
{
|
||||
ZeroMemory(szAutoRun, sizeof(szAutoRun));
|
||||
lstrcat(szAutoRun,"<EFBFBD>ֶ<EFBFBD>");
|
||||
case SERVICE_SYSTEM_START: {
|
||||
lstrcatA(szAutoRun, skCrypt("ϵͳ"));
|
||||
break;
|
||||
}
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user