Muy bueno amigo, ahora lo pruebo!! gracias
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
}
}
}