public bool Init(IEnumerable <String> extensionDirs) { if (_agentsCache == null) { _agentsCache = new AgentsCache(); _agentsCache.EvtAgentAdded += _agentsCache_EvtAgentAdded; _agentsCache.Init(extensionDirs); _genericAppAgent = _agentsCache.GetAgent(GenericAppAgentName); if (_genericAppAgent == null) { _agentsCache.AddAgentByType(typeof(UnsupportedAppAgent)); _genericAppAgent = _agentsCache.GetAgent(GenericAppAgentName); } _agentsCache.AddAgentByType(typeof(NullAgent)); _nullAgent = _agentsCache.GetAgent(NullAgentName); _dialogAgent = _agentsCache.GetAgent(DialogControlAgentName); _menuControlAgent = _agentsCache.GetAgent(MenuControlAgentName); _textControlAgent = _genericAppAgent.TextControlAgent; WindowActivityMonitor.EvtFocusChanged += WindowActivityMonitor_EvtFocusChanged; getKeyboardActuator(); WindowActivityMonitor.GetActiveWindow(); } return(true); }
/// <summary> /// Removes a previously added ad-hoc agent /// </summary> /// <param name="handle">window handle for the agent</param> public void RemoveAgent(IntPtr handle) { IApplicationAgent agent = _agentsCache.GetAgent(handle); if (agent != null) { agent.EvtPanelRequest -= agent_EvtPanelRequest; _agentsCache.RemoveAgent(handle); if (agent == _currentAgent) { _currentAgent = null; } } }
public bool Init(IEnumerable<String> extensionDirs) { if (_agentsCache == null) { _agentsCache = new AgentsCache(); _agentsCache.EvtAgentAdded += _agentsCache_EvtAgentAdded; _agentsCache.Init(extensionDirs); _genericAppAgent = _agentsCache.GetAgent(GenericAppAgentName); if (_genericAppAgent == null) { _agentsCache.AddAgentByType(typeof(UnsupportedAppAgent)); _genericAppAgent = _agentsCache.GetAgent(GenericAppAgentName); } _agentsCache.AddAgentByType(typeof(NullAgent)); _nullAgent = _agentsCache.GetAgent(NullAgentName); _dialogAgent = _agentsCache.GetAgent(DialogControlAgentName); _menuControlAgent = _agentsCache.GetAgent(MenuControlAgentName); _textControlAgent = _genericAppAgent.TextControlAgent; WindowActivityMonitor.EvtFocusChanged += WindowActivityMonitor_EvtFocusChanged; //WindowActivityMonitor.GetActiveWindow(); } return true; }