Pergunta

Eu tenho o manipulador de uma janela aberta que não era necessariamente aberta pelo meu processo. Como posso adicionar um botão para que a janela e fazer o botão de chamar uma aplicação determinada (.exe) quando clicado? O botão pode ser o próximo para o menu do sistema ou o botão de minimizar. Isso deve funcionar tanto para XP e Vista (uma abordagem diferente para cada versão é OK).

Foi útil?

Solução

A abordagem padrão é injetar uma DLL no processo com SetWindowsHookEx, enganchando WH_CALLWNDPROC para monitorar a mensagem WM_NCPAINT. Que costumava trabalhar muito bem, mas não mais. Estilos visuais e Vista UAC vai fazer você crescer uma barba longa bonita. Comum nos Windows 3.x dias, eu não vi este feito em um bom tempo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top