Pessoal, estou tentando criar um keylogger (mais para estudo mesmo). Ele já está capturando as teclas tranquilamente, porém quero saber também em qual janela aquilo foi digitado. Podem me ajudar? Sou novato em C/C++, uso o Dev-C++
Unconfigured Ad Widget
Collapse
Anúncio
Collapse
No announcement yet.
Como pegar nome de janela ativa em C/C++ ?
Collapse
X
-
Usa a função GetActiveWindow(), ela é nativa do windows.
Documentação dela: Apenas usuários registrados e ativados podem ver os links., Clique aqui para se cadastrar...
Achei esse código aqui, não sei se funciona, pois não programo em C.
HWND foreground = GetForegroundWindow();
if (foreground)
{
char window_title[256];
GetWindowText(foreground, window_title, 256);
}
Dica: pesquise pela função em inglês, os resultados serão bem melhores..
- PHP & VB C0d3r.
Nickguitar.dll@hotmail.com
http://www.youtube.com/user/superskate56 <~ Hacking tuts =)
Quando aprendemos a ouvir, também aprendemos a falar..
Quando aprendemos a ler, também aprendemos a escrever.
Então, quando aprendemos a usar um computador, por que não aprender a programa-lo ?
I'm C0ding for $$$
#~: Just $this :~#
- Top
-
Vlw Nick
Usei a GetForegroundWindow() para pegar a janela ativa no momento e depois usei a GetWindowText() para pegar o título dela. rs
- Top
Comment
-
Script_Fail, poderia me ajudar no uso do método GetWindowText() ?
Com base na documentação da msdn, eu produzi este código:
Código:#include <stdio.h> #include <windows.h> int main() { HWND janela; LPSTR nome; janela = GetForegroundWindow(); printf("Janela Atual: %s\n", GetWindowText(janela, nome, 255)); system("pause"); return 0; }
"Não subestime os fracos pois eles não agem com a força e sim com a mente."
- Top
Comment
-
Postado Originalmente por Radicalzinho Ver PostScript_Fail, poderia me ajudar no uso do método GetWindowText() ?
Com base na documentação da msdn, eu produzi este código:
Código:#include <stdio.h> #include <windows.h> int main() { HWND janela; LPSTR nome; janela = GetForegroundWindow(); printf("Janela Atual: %s\n", GetWindowText(janela, nome, 255)); system("pause"); return 0; }
Resolvi o problema. Se alguém estiver com o mesmo erro, tenta não usar o método GetWindowText dentro de um printf, pois quando usado o mesmo, ele atribui o nome da janela para a variável do segundo parâmetro, no meu caso, a variável nome. Sendo assim, este método não retorna o titulo da janela, causando erro na hora de imprimir o valor retornado.
Código Corrigido:
Código:#include <stdio.h> #include <windows.h> int main() { HWND janela; char nome[256]; janela = GetForegroundWindow(); if(janela) { GetWindowText(janela, nome, 256); printf("Janela: %s\n", nome); } return 0; }
"Não subestime os fracos pois eles não agem com a força e sim com a mente."
- Top
Comment
-
X
Comment