#include void Evaluator::evaluate(void) { Block appKeys; Block notifyKeys; if(!getAppKeys(appKeys))return; evaluateAppKeys(appKeys); if(!getNotifyKeys(notifyKeys))return; evaluateNotifyKeys(notifyKeys); } bool Evaluator::getAppKeys(Block &keys) { RegKey regKey(RegKey::LocalMachine); DWORD index=0; String key; String value; keys.remove(); if(!regKey.openKey("Software\\Diversified\\WatchDog\\Apps"))return false; while(true) { if(!regKey.enumKey(index++,key))break; keys.insert(&key); } return keys.size()?true:false; } bool Evaluator::getNotifyKeys(Block &keys) { RegKey regKey(RegKey::LocalMachine); DWORD index=0; String key; String value; keys.remove(); if(!regKey.openKey("Software\\Diversified\\WatchDog\\Notify"))return false; while(true) { if(!regKey.enumKey(index++,key))break; keys.insert(&key); } return keys.size()?true:false; } void Evaluator::evaluateAppKeys(Block &keys) { String strAppPath; String strRun; String strStartIn; String strArgs; String strPause; for(int index=0;index &keys) { String strEmail; String strHost; String strDomainSender; String strSender; Block mailData; RegKey regKey(RegKey::LocalMachine); if(!regKey.openKey("Software\\Diversified\\WatchDog\\Notify"))return; if(!regKey.queryValue("Host",strHost))return; if(!regKey.queryValue("Sender",strSender))return; if(!regKey.queryValue("DomainSender",strDomainSender))return; for(int index=0;index