Como instalar um servidor de email na máquina virtual de Visual Studio ALM (VSALM VM)

Se você usa a máquina virtual de Visual Studio ALM, seja para estudos ou demonstrações, pode já ter sentido a necessidade de configurar um servidor de emails na máquina virtual.

Essa necessidade fica ainda mais óbvia quando queremos testar (ou praticar) funcionalidades cujo fluxo de trabalho dependa extensivamente de emails, como a Aprovação de Releases ou a Solicitação de Feedback.

Explorei algumas opções, e acho que finalmente cheguei numa que atendeu perfeitamente à minha necessidade.

Continue lendo “Como instalar um servidor de email na máquina virtual de Visual Studio ALM (VSALM VM)”

RegistryMonitor (ou “como monitorar alterações em chaves do Registry”)

Recentemente deparei-me com a seguinte situação:

Estou desenvolvendo um addin para o Outlook, e quero que ele tenha uma aparência consistente com o esquema de cores em uso no Office 2007 / 2010. Para isso, tenho dois requisitos:

  1. Preciso saber qual o esquema de cores (Preto, Azul, Prata) está atualmente selecionado;
  2. Caso o usuário mude o esquema de cores, preciso ser notificado para que meu addin possa reagir de acordo.

Com relação ao requisito número um, a resposta está no post “Setting the BackColor to match the Office 2007 color scheme”. Nele descobri que o tema atualmente selecionado está gravado em uma chave no Registry – extremamente fácil de ler a partir do meu addin.

Agora, o segundo requisito. Como saber se o usuário mudou o esquema de cores? Bom, não há nenhum evento para isso. O Office (neste caso, o Outlook) simplesmente muda o valor da chave no Registry e reflete as alterações na sua UI. Portanto, eu precisava de um mecanismo para monitorar o Registry e ser notificado em caso de alterações nas chaves HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0CommonTheme (2007) ou HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0CommonTheme (2010).

É aí que entra um excelente artigo no CodeProject:

RegistryMonitor – a .NET wrapper class for RegNotifyChangeKeyValue – CodeProject

Boa codificação!
Igor