Muy bueno amigo, ahora lo pruebo!! gracias
![;-) ;-)](https://forum.elhacker.net/Smileys/navidad/aplaudir.gif)
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: amchacon en 11 Junio 2013, 20:17 PMHWND wnd = FindWindow(0,procesog);
SetWindowPos(wnd,HWND_BOTTOM,0,0,0,0,SWP_NOSIZE + SWP_NOMOVE);
Prueba a poner:HWND wnd = FindWindow(0,procesog);
SetWindowPos(wnd,HWND_BOTTOM,0,0,0,0,SWP_NOSIZE + SWP_NOMOVE);
Sleep(200);
Cita de: amchacon en 11 Junio 2013, 19:59 PM
Sin ver el código, se me ocurre:while (1) // bucle
{
// Programa
SetWindowPos();
Sleep(500); // Duermo el programa 500 ms.
}
Lo que quiero decirte es que uses Sleep(); para hacer descansar el programa, al hacer menos operaciones debería de parpadear menos.
#include <windows.h>
DLLIMPORT double window_set_bottom (char* procesog)
{
HWND wnd = FindWindow(0,procesog);
SetWindowPos(wnd,HWND_BOTTOM,0,0,0,0,SWP_NOSIZE + SWP_NOMOVE);
}
void DllMain ()
{
}
global.set_bottom = external_define("GMMFDLL.DLL",'window_set_bottom',dll_cdecl,ty_real,1,ty_string);
external_call(global.set_bottom,"paradize") // donde paradize es mi aplicacion
Cita de: engelx en 11 Junio 2013, 19:57 PM
y si la ocultas? y si la escondes arriba del escritorio en posiciones negativas?
#include <stdio.h>
#include <windows.h>
#include <dos.h>
// inicializa las variables n=valor del trainer y timer
int n=255;
int n1=1000;
int n2=99;
int n3=3;
int n4=3;
int n5=3;
int n6=3;
int n7=1;
int n8=4;
int n9=10;
int n10=9;
int n11=12;
int can_exit=0;
int exit_trainer() // funcion de error o salida
{
can_exit = 1;
system("cls");
printf("El proceso no esta abierto.\n");
system("echo Presione una tecla para salir.");
system("pause >nul");
}
int write_trainer() // este script inyecta el trainer en el proceso
{
DWORD pid; // revisa la primera ejecucion del proceso
HANDLE process;
HWND wnd = FindWindow(0, "Cave Story ~ Doukutsu Monogatari");
GetWindowThreadProcessId(wnd, &pid);
process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
if (process == 0)
{
exit_trainer();
}
WriteProcessMemory(process, (LPVOID)0x0049E6CC, &n, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x0049E6DC, &n1, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BEC, &n2, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BCC, &n3, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499C08, &n4, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BE0, &n5, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BF4, &n6, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x0002001E, &n7, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BC8, &n8, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BDC, &n9, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499BF0, &n10, 4, NULL); // esta es la direccion de memoria
WriteProcessMemory(process, (LPVOID)0x00499C04, &n11, 4, NULL); // esta es la direccion de memoria
CloseHandle(process);
system("cls"); // limpia la pantalla
printf("Process: %d \nPid: %d \nWindow: %d \n\n Inyect trainer... \n", process, pid, wnd); // visualiza texto en el prompt para saber que esta en ejecucion
return 0;
}
int main() // Proceso principal
{
system("Cave Story ~ Trainer Mod");
DWORD pid; // revisa la primera ejecucion del proceso
HANDLE process;
HWND wnd = FindWindow(0, "Cave Story ~ Doukutsu Monogatari");
GetWindowThreadProcessId(wnd, &pid);
process = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
while (can_exit == 0) // comprueba que el proceso esta abierto
{
if (process == 0)
{
exit_trainer();
break;
}
else
{
write_trainer(); // Escribe en la memoria
Sleep(300); // detiene el programa para no cargar el juego
}
}
}