Um relançamento do código atualizado originalmente escrito há cerca de 20 anos.
Lembre-se de que, em alguns casos, são necessárias versões de 32 e 64 bits de uma DLL.
Os projetos serão compilados em Delphi XE2 e superior. O XE2 foi escolhido porque irá compilar para 32 e 64 bits com um pequeno espaço binário.
Um arquivo de manifesto é fornecido para Delphi Berlin que inclui 'uiAccess'. IDEs mais recentes têm essa opção integrada. A depuração é melhor realizada com um manifesto que não inclui 'uiAccess'. 'LinkManifests.cmd' irá gerar links simbólicos para o manifesto fornecido.
A partir do Windows 10.1903.18362.295, uma VM Sandbox permitia testes de depuração sem assinatura de código.
Melhor alterar o nome da DLL, alterar o nome do arquivo Mapfile e seguir estas etapas:
Sem essa conexão, um aplicativo 'uiAccess' falhará e possivelmente bloqueará seu aplicativo.
Gravação e reprodução de um gancho do Journal. O código pode residir dentro de um EXE ou DLL e funciona para 32/64 bits sem uma versão adicional. No entanto, a maneira como li isso é que é melhor usar uma DLL, já que aplicativos de bits não nativos acabarão carregados seu código por meio de um mecanismo de conversão.
Conecta todas as mensagens postadas via PostMessage, o melhor é refinar o que você precisa assistir e deixar o resto fluir. A demonstração atual simplesmente envia uma mensagem de volta ao aplicativo original quando um menu do sistema é clicado.
Conecta todas as funções GetMessage ou PeekMessage quando há uma mensagem de teclado (WM_KEYUP ou WM_KEYDOWN) a ser processada. A demonstração atual simplesmente envia uma mensagem de volta ao aplicativo original quando ALT+Numkey_1 é usado.
Injeta a DLL em um processo usando seu PID, onde uma chamada DDetours essencialmente redireciona uma API.
Este método poderia usar um processo Hook específico para um único processo para diminuir a carga no sistema.
Maneira mais fácil de testar:
Requer: Biblioteca Delphi Detours