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 - Ahustinkrone

#1
:/ no uso C++11, pero gracias igual.
#2
Programación C/C++ / Threads, Hilos en C++
17 Junio 2014, 01:18 AM
Hola, necesito crear thread pero por mas que busco, no encuentro algún tutorial de como funcionan e utilizan los mismos.. si alguien me podría explicar o pasarme unos links de tutoriales estaría muy agradecido!

PD: es para un programa de windows, por lo tanto no es problema usar la API de windows is es necesario.
#3
En realidad no busco una alternativa , porque nesesito una funcion como keybd_event pero que simule el uso de una tecla en una ventana especifica y no en todo el sistema. independiente de si esa ventana esta en uso o en segundo plano. se entiende ?
#4
Gracias, la pregunta de "porque me lo recomendabas?" no iba de malas, de verdad quería saber en que era mejor el visual.
y..
#include <windows.h>
#include <stdio.h>
using namespace std;
HDC dcx;
int x;
int y;
int Color;
int capturarcoord = 1;
int full;
int main()
{
   while (capturarcoord == 1){
           if (GetAsyncKeyState(164) && GetAsyncKeyState(18) && GetAsyncKeyState(1)){
               HWND hwnd; // el manejador de la ventana a trabajar
               POINT pt;                   // Puntero para las cordenadas
               GetCursorPos(&pt);                // La funcion que dara las cordenadas
               hwnd2 = WindowFromPoint(pt); // la funcion que capta la ventana
               dcx =GetWindowDC(hwnd);
               x = pt.x;
               y = pt.y;
               capturarcoord = 0;
               printf("Coordenas Seteadas!X=%i Y=%i\n\n\n",x,y);
           }
   }
   full = GetPixel(ventana,x,y);
   while (1<2){
       printf("Pixel Check in \(%i,%i\) normal-value=%i\n",x,y,full);
       Color = GetPixel(dcx,x,y);
       if (full != Color){keybd_event(VK_F10,0x79,0 , 0);keybd_event(VK_F10,0x79,KEYEVENTF_KEYUP , 0);printf("Funciona!");}
       printf("%i\(10\) = %x\(16\)\n",Color,Color);
       Sleep(380);
   }
   return 0;
}


Eso es lo hice hasta ahora, faltan algunas modificaciones para hacerlo mas bello y configurable pero el motor funciona correctamente, doy el tema por resuelto. gracias por sus respuestas :D
#5
Cita de: x64Core en 31 Mayo 2014, 03:14 AM
GetDC ( Hwnd ) http://msdn.microsoft.com/en-us/library/windows/desktop/dd144871(v=vs.85).aspx.
Hay otras maneras también. Y Además mejor cambia de compilador a VC++ ( Visual Studio ).
porque me lo recomiendas ? que caracterusticas presenta mejores/distantas al code::blocks?

Volviendo al tema,mire varios ejemplos del uso del HDC y pude entenderlo un poco, gracias a los 2 por sus repuestas, voy a probar con GetDC (NULL);estaba usando GetWindowDC(hwnd); para seleccionar la ventana donde posicione el puntero, pero creo que seria mas estable si utiliza la pantalla entera ¿no?.
ahora otra duda, si getpixel se utilisa en una ventana seleccionada y no en toda la pantalla el origen de las coordenadas X e Y  es la esquina de la ventana o de la pantalla ?

quiero comentar (por si a alguien le interesa)que el programa que estoy haciendo es un autopot para juegos, bastante sencillo y simplemente como hobbie porque no quería bajar uno, quería hacer uno :D funciona asi:
1-Inicia el programa
2-(una vez dentro de la ventana del juego) Alt + click para marcar en la barra de vida/mana/etc el punto en el que quieres que se empiecen a utilizar o dejen de utilizarse las pociones.
3-se guarda el color original de este pixel.
4-analiza el pixel seleccionado si este cambia de color se empiezan a utilizar las pociones con un cierto intervalo(simula presionar una tecla).
5-si el pixel vuelve a su color original deja de utilizar pociones.


eso es todo, bastante sencillo. ya esta casi terminado. gracias espero sus respuestas
#6
Holas, estoy intentando crear un programa que obtenga el valor rgb o bgr de un pixel especifico en la ventana activa que no seria la del programa en si.
osea yo quiero que revise el pixel que esta en X, Y y me diga que color es cada x tiempo.
el problema es que no entiendo como funciona getpixel(hdc,x,y). supongo que x e y son las coordenadas del pixel a revisar pero ¿hdc?.. sino alguien me puede explicar como utilitaria getpixel para lo que necesito ?
Trabajo con Code:Blocks y ya linkie gdi32.
PD: es mi primera post ^^