Menú

Mostrar Mensajes

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ú

Mensajes - 5cr173R

#1
Muy bueno amigo, ahora lo pruebo!! gracias ;-)
#2
Programación C/C++ / Re: broma en c++
6 Julio 2013, 00:44 AM
Exelente, tambien podrias hacer que se le apague el monitor, asi:

Este para apagarlo:

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM)2);


Y este para encenderlo XD:

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM)-1);

Y has que el beep interno suene como alarma jajaja asi:

Beep(frecuencia, tiempo_en_miliseguntos);

Suerte!!!
#3
Buenas, tengo la siguiente duda. e buscado por todos lados, y no logro hallar el como hacer una barrita de esas que empiezan en verde y crecen segun el volumen de salida.
Me gustaria saber si necesito alguna libreria o lo puedo hacer con otra funcion, o almenos conseguir solo la frecuencia que sale del speaker (creo que son en mhz).
Gracis de antemano por atender a esta creo que azaña  :xD
#4
Gracias! Pero yo uso dev c++, y mí objetivo es ocultarlo por medio de un handle obtenido con findwindow
#5
Buenas! Hoy estuve maquinado sin conseguir como poder crear una taskbar (barra de tareas) usando c++.
E visto varios programas que lo logran, pero como?
y otra que me mato fue el esconder el Item de la barra de tareas (Como en visual basic que le ponemos ShowInTaskbar en propiedades de Form) pero no encontre la funcion que lo haga.
Alguna idea? soy medio navatazo :) y apenas estoy empezando C++.
Gracias de antemano!
#6
Cita de: amchacon en 11 Junio 2013, 20:17 PM
HWND 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);



Tendre que probarlo, si funciona te aviso, gracias por la ayuda
#7
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.

Creo que veo la idea, pero la cosa es que el codigo que empuje la ventana va dentro de una DLL.
La ventana que lo llama no esta escrita en C++, sino con Game Maker (Lenguaje GML).

Llevo esto en la dll:

Código (cpp) [Seleccionar]

#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 ()
{

}


Y en la aplicacion de Game Maker la defino con

Código (gml) [Seleccionar]

global.set_bottom = external_define("GMMFDLL.DLL",'window_set_bottom',dll_cdecl,ty_real,1,ty_string);


Y la llamo desde un evento asi

Código (gml) [Seleccionar]

external_call(global.set_bottom,"paradize") // donde paradize es mi aplicacion


Eso la empuja, pero al volver el foco a "Paradize", vuelve a ponerla arriba
#8
Cita de: engelx en 11 Junio 2013, 19:57 PM
y si la ocultas? y si la escondes arriba del escritorio en posiciones negativas?

No comprendo, que son posiciones negativas?
En si es una ventana ajena al codigo en c++ (La dll la hago en C++ y la aplicacion en Game Maker), ya que game maker es un IDE escrito en delphi y utiliza funciones externas definidas desde librerias  o DLLs, la fucion solo la puedo llamar entre cada actualizacion de ventana, asi que mi cuestion es si puedo definir a la ventana (Editar algun LONG con SetWindowLong) que la mantenga por debajo sin llamar varias veces a la funcion.
Gracias
#9
Programación C/C++ / Duda con ventanas y c++
11 Junio 2013, 19:50 PM
Buenas, estoy desarrollando un programa que reemplazara el escritorio de windows, algo asi como un wallpaper muy elaborado, pero necesito saber como mantener a mi ventana al nivel del escritorio (Lo mas abajo).
El programa lo desarrollo en Game Maker 8, y la DLL en la que debe estar la funcion de mover la ventana abajo con Dev-C++.
Se que con esta funcion:

SetWindowPos(wnd,HWND_BOTTOM,0,0,0,0,SWP_NOSIZE + SWP_NOMOVE);

empujo a la ventana, pero tengo que ejecutarla muchas veces para mantenerla abajo, y esto hace que la barra de tares parpadee y cuando le paso el foco a las ventanas normales, estas tambien parpadean.

Que me aconsejan? de antemano se les agradece y si quieren credito en el proyecto con mucho gusto los incluyo.
Gracias
#10
Amigo yo uso Dev-c++, y me preguntaba lo mismo, pero investigando encontre como usar las api de windows para hacer los cheats.
El problema, es que necesitas usar un debugger, o como yo, usa el art money. Con este podras buscar los Memory Address del valor que quieres editar.
Te voy a dejar el codigo del Cheat en C++, pero tu busca el art money porque no preciso donde estaba ni un manual.

Código (cpp) [Seleccionar]

#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
      }
      }


}



Creo que se entiende, y si no me mandas un MP y te explico con mas detalles