Pergunta

aplicativo Tendo C configuração ++ originalmente usando MS teclado específicas diário gancho (WH_JOURNALRECORD) descobrimos que ele não funciona no Vista, a menos Executar como administrador com uiAccess habilitado. MSDN Pergunta - ganchos Journaling no Vista?

Queremos gravar uma sequência de teclas do usuário de uma forma amigável que será repetida em alguma data posterior. O usuário pressiona um botão de gravação, um diálogo é exibido com um botão de parada e as teclas gravadas.

Uma vantagem de usar o gancho diário era que só as teclas digitadas que fez alguma coisa tem. Segurando a tecla shift não relatou 100 teclas shift, mas fez uso do relatório quando você bate uma carta. Outra vantagem é que você pode definir o foco para um fora da área de aplicação, dizer outra janela aplicações, e gravar a ação como o usuário interage.

Os apartes de fazer a parte de captura de teclado do aplicativo existente um executável separado que é executado como administrador com uiAccess, estou buscando outras ideias sobre como gravar teclas que funcionam no Windows para 2K, 2K3, 2K8, XP, Vista.

Edit: Eu sei que há uma preocupação de segurança com apenas gravar qualquer coisa, obviamente, se você pudesse fazer uma coisa dessas sem que os usuários notar que você tem seu keystroke logger típico para fins de hacking. Soooooo .....

Existe uma maneira de fazer diário de trabalho, para esse usuário, e seus aplicativos, funcionando no mesmo nível (ou inferior) e combinações de teclas de captura? tê-lo aparecer a segurança vista você tem certeza de diálogo seria tudo bem, mas o processo não pode ser marcado com uiAccess (caso contrário ele não vai interagir adequadamente com o resto do sistema) e vai em 98% dos casos, ser executados por usuários sem direitos para elevar a administrador.

Foi útil?

Solução 2

Temos trabalhado em torno das principais questões usando SetWindowsHook vez.

const HMODULE hDLL = ::GetModuleHandle(DLL_NAME);
::SetWindowsHookEx(WH_KEYBOARD_LL, myKeyboardProcCallback, hDLL, 0);

O callback agora tem de gerir a informação keystroke e traduzi-lo em seqüências utilizáveis ??-. Ie não gravar prensas múltipla Ctrl ao heeld para pressionar ctrl + chave

Outras dicas

Mesmo se você pudesse, você provavelmente iria encontrar Microsoft fixação desse bug no próximo patch. A mudança no Vista foi intencional, e não há uma forma clara (uiAccess == true) para ainda fazer o que quiser.

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