Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: daryo en 12 Noviembre 2013, 02:16 am



Título: [c][codigo]screamer - completo api de windows
Publicado por: daryo en 12 Noviembre 2013, 02:16 am
he tenido algunas problemas en code blocks y los resources y por eso no lo he habia acabado   :D

ejecutable - actualizado
bajar (https://mega.co.nz/#!RUQCSbgZ!VFwIGV-vLVM3BB2vd1iTtXjlMTVCyyPICPZXq2RMjIM)
imagen:
(http://i43.tinypic.com/2pru1li.png)

resource.rc
Código
  1. #include "resource.h"
  2.  
  3. IDB_BALL                BITMAP  DISCARDABLE     "ball.bmp"
  4. IDR_Tortura             WAVE "g.wav"
  5.  
  6.  

resource.h
Código
  1. #define IDB_BALL                        101
  2. #define IDR_Tortura                     1
  3.  

main.cpp
Código
  1.  #include <windows.h>
  2.    #include "resource.h"
  3.  
  4.  
  5.    /*  Declare Windows procedure  */
  6.  
  7.  
  8.  
  9.    DWORD WINAPI sonar(LPVOID lpParameter)
  10.    {
  11.        PlaySound(MAKEINTRESOURCE(IDR_Tortura),GetModuleHandle(NULL),SND_RESOURCE);
  12.        return 0;
  13.    }
  14.    HINSTANCE miinstance;
  15.  
  16.    LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
  17.  
  18.    /*  Make the class name into a global variable  */
  19.    char szClassName[ ] = "aAdm";
  20.  
  21.    int WINAPI WinMain (HINSTANCE hThisInstance,
  22.                        HINSTANCE hPrevInstance,
  23.                        LPSTR lpszArgument,
  24.                        int nCmdShow)
  25.    {
  26.       HWND hwnd;               /* This is the handle for our window */
  27.       MSG messages;            /* Here messages to the application are saved */
  28.       WNDCLASSEX wincl;        /* Data structure for the windowclass */
  29.  
  30.       /* The Window structure */
  31.       wincl.hInstance = hThisInstance;
  32.       wincl.lpszClassName = szClassName;
  33.       wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
  34.       wincl.style = CS_DBLCLKS;                 /* Catch double-clicks */
  35.       wincl.cbSize = sizeof (WNDCLASSEX);
  36.  
  37.       /* Use default icon and mouse-pointer */
  38.       wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
  39.       wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
  40.       wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
  41.       wincl.lpszMenuName = NULL;                 /* No menu */
  42.       wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
  43.       wincl.cbWndExtra = 0;                      /* structure or the window instance */
  44.       /* Use Windows's default colour as the background of the window */
  45.       wincl.hbrBackground = CreateSolidBrush( RGB(0x00, 0x00, 0x00) );
  46.  
  47.       /* Register the window class, and if it fails quit the program */
  48.       if (!RegisterClassEx (&wincl))
  49.           return 0;
  50.  
  51.       /* The class is registered, let's create the program*/
  52.       hwnd = CreateWindowEx (
  53.              0,                   /* Extended possibilites for variation */
  54.              szClassName,         /* Classname */
  55.              "zfa",       /* Title Text */
  56.              WS_POPUP, /* default window */
  57.              CW_USEDEFAULT,       /* Windows decides the position */
  58.              CW_USEDEFAULT,       /* where the window ends up on the screen */
  59.              544,                 /* The programs width */
  60.              375,                 /* and height in pixels */
  61.              HWND_DESKTOP,        /* The window is a child-window to desktop */
  62.              NULL,                /* No menu */
  63.              hThisInstance,       /* Program Instance handler */
  64.              NULL                 /* No Window Creation data */
  65.              );
  66.  
  67.       /* Make the window visible on the screen */
  68.        ShowWindow(hwnd, SW_SHOWMAXIMIZED);
  69.       ShowCursor(FALSE);
  70.    UpdateWindow(hwnd);
  71.       /* Run the message loop. It will run until GetMessage() returns 0 */
  72.       while (GetMessage (&messages, NULL, 0, 0))
  73.       {
  74.           /* Translate virtual-key messages into character messages */
  75.           TranslateMessage(&messages);
  76.           /* Send message to WindowProcedure */
  77.           DispatchMessage(&messages);
  78.       }
  79.  
  80.       /* The program return-value is 0 - The value that PostQuitMessage() gave */
  81.       return messages.wParam;
  82.    }
  83.  
  84.  
  85.    /*  This function is called by the Windows function DispatchMessage()  */
  86.    HBITMAP feisimo = NULL;
  87.    DWORD dwThreadId;
  88.    LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
  89.    {
  90.       switch (message)                  /* handle the messages */
  91.       {
  92.           case WM_CREATE:
  93.               {
  94.               HANDLE hThread = CreateThread (NULL,0,sonar,NULL,0,&dwThreadId);
  95.               feisimo=LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BALL));
  96.               if(feisimo == NULL)
  97.               {
  98.                MessageBox(hwnd, "no cargo feisimo :'( llora", "Error", MB_OK | MB_ICONEXCLAMATION);
  99.               }
  100.               }
  101.               break;
  102.           case WM_PAINT:
  103.               {
  104.                   BITMAP bm;
  105.                   PAINTSTRUCT ps;
  106.                   HDC hdc= BeginPaint(hwnd,&ps);
  107.                   HDC hdcMem= CreateCompatibleDC(hdc);
  108.                   HBITMAP hbmOld=(HBITMAP)SelectObject(hdcMem,feisimo);
  109.                   GetObject(feisimo,sizeof(bm),&bm);
  110.                   BitBlt(hdc,350,0,bm.bmWidth,bm.bmHeight,hdcMem,0,0,SRCCOPY);
  111.                   SelectObject(hdcMem,hbmOld);
  112.                   DeleteDC(hdcMem);
  113.                   EndPaint(hwnd,&ps);
  114.               }
  115.               break;
  116.           case WM_DESTROY:
  117.               PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
  118.               break;
  119.           default:                      /* for messages that we don't deal with */
  120.               return DefWindowProc (hwnd, message, wParam, lParam);
  121.       }
  122.  
  123.       return 0;
  124.    }
  125.  
  126.  
  127.  


Título: Re: [c][codigo]screamer - completo api de windows
Publicado por: xaps en 18 Noviembre 2013, 09:30 am
Buen copy-paste:

Citar
http://www.forosdelweb.com/f96/windows-api-crear-menu-1034745/
http://winprog.org/tutorial/es/bitmaps.html

Acuérdate de poner los créditos la próxima vez.

Saludos


Título: Re: [c][codigo]screamer - completo api de windows
Publicado por: daryo en 25 Noviembre 2013, 01:03 am
Buen copy-paste:

Acuérdate de poner los créditos la próxima vez.

Saludos
hasta ahora veo esto pero queria aclarar
eso no es un screamer y no es de ahi que me base , ni siquiera estoy creando un menu.
antes de juzgar asegurate que lo de dices realmente es asi.

el segundo solo enseña a poner un bitmap pero no usa sonidos ni pantalla completa.
asi que si parte del codigo viene de ahi pero no por ello  es plagio ni mucho menos siendo asi cualquiera que usara la api de windows para hacer gui estaria haciendo plagio xD.

curioso que lo diga alguien que tiene a stallman en la foto de perfil  :P


Título: Re: [c][codigo]screamer - completo api de windows
Publicado por: xaps en 25 Noviembre 2013, 03:09 am
hasta ahora veo esto pero queria aclarar
eso no es un screamer y no es de ahi que me base , ni siquiera estoy creando un menu.
antes de juzgar asegurate que lo de dices realmente es asi.

el segundo solo enseña a poner un bitmap pero no usa sonidos ni pantalla completa.
asi que si parte del codigo viene de ahi pero no por ello  es plagio ni mucho menos siendo asi cualquiera que usara la api de windows para hacer gui estaria haciendo plagio xD.

curioso que lo diga alguien que tiene a stallman en la foto de perfil  :P

No podemos hablar de plagio, ya que estamos hablando de código libre. Pero si que podemos hablar de copia literal. Y ya que el programa ha sido copiado en su totalidad y tan solo te has molestado en modificar un par de variables para darle tu "toque" personal, pues no estaría de más citar las fuentes.

Por cierto, ya me explicarás que tiene que ver mi imagen de perfil con esto.

Saludos


Título: Re: [c][codigo]screamer - completo api de windows
Publicado por: daryo en 25 Noviembre 2013, 12:45 pm
ganas de fastidiar , yo la dije ese codigo no es el mismo puesto que lo unico que hace es cargar una imagen . no es un copy paste tal cual porque si solo hubiera cambiado nombre de variables hubiera sacado una ventanita comun y corriente de windows y hasta ahi con los botones de minimizar cerrar y maximizar.

no usa threads no carga sonidos desde resource , ni  cambia el fondo predeterminado gris de los programas de windows  a negro,ni tampoco esconde el mouse, si te fijas la mayoria de programas que usan api de windows (espero al menos conoscas que es eso)tienen una estructura muy similar.

por tus comentarios supongo que conoces bastante poco de esto ya que no estoy usando menus y el primer enlace que pusiste es sobre menus. asi que no veo otra razon de tu comentario que simplemente molestar.

PD:incluso me tome la molestia de editar la imagen y el sonido.





Título: Re: [c][codigo]screamer - completo api de windows
Publicado por: xaps en 25 Noviembre 2013, 13:54 pm
ganas de fastidiar , yo la dije ese codigo no es el mismo puesto que lo unico que hace es cargar una imagen . no es un copy paste tal cual porque si solo hubiera cambiado nombre de variables hubiera sacado una ventanita comun y corriente de windows y hasta ahi con los botones de minimizar cerrar y maximizar.

no usa threads no carga sonidos desde resource , ni  cambia el fondo predeterminado gris de los programas de windows  a negro,ni tampoco esconde el mouse, si te fijas la mayoria de programas que usan api de windows (espero al menos conoscas que es eso)tienen una estructura muy similar.

por tus comentarios supongo que conoces bastante poco de esto ya que no estoy usando menus y el primer enlace que pusiste es sobre menus. asi que no veo otra razon de tu comentario que simplemente molestar.

PD:incluso me tome la molestia de editar la imagen y el sonido.

Increíble.

Ésto es de chiste, así que no haré más comentarios al respecto.

Saludos


Título: Re: [c][codigo]screamer - completo api de windows
Publicado por: daryo en 25 Noviembre 2013, 18:25 pm
Increíble.

Ésto es de chiste, así que no haré más comentarios al respecto.

Saludos
tienes razon no hace falta que demuestras mas tu ignorancia  :laugh: