Autor
|
Tema: [c][codigo]screamer - completo api de windows (Leído 4,665 veces)
|
daryo
|
he tenido algunas problemas en code blocks y los resources y por eso no lo he habia acabado ejecutable - actualizadobajarimagen:resource.rc #include "resource.h" IDB_BALL BITMAP DISCARDABLE "ball.bmp" IDR_Tortura WAVE "g.wav"
resource.h #define IDB_BALL 101 #define IDR_Tortura 1
main.cpp #include <windows.h> #include "resource.h" /* Declare Windows procedure */ DWORD WINAPI sonar(LPVOID lpParameter) { PlaySound(MAKEINTRESOURCE(IDR_Tortura),GetModuleHandle(NULL),SND_RESOURCE); return 0; } HINSTANCE miinstance; LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ char szClassName[ ] = "aAdm"; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nCmdShow) { HWND hwnd; /* This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof (WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = NULL; /* No menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default colour as the background of the window */ wincl.hbrBackground = CreateSolidBrush( RGB(0x00, 0x00, 0x00) ); /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx (&wincl)) return 0; /* The class is registered, let's create the program*/ hwnd = CreateWindowEx ( 0, /* Extended possibilites for variation */ szClassName, /* Classname */ "zfa", /* Title Text */ WS_POPUP, /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ 544, /* The programs width */ 375, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hThisInstance, /* Program Instance handler */ NULL /* No Window Creation data */ ); /* Make the window visible on the screen */ ShowWindow(hwnd, SW_SHOWMAXIMIZED); ShowCursor(FALSE); UpdateWindow(hwnd); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam; } /* This function is called by the Windows function DispatchMessage() */ HBITMAP feisimo = NULL; DWORD dwThreadId; LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) /* handle the messages */ { case WM_CREATE: { HANDLE hThread = CreateThread (NULL,0,sonar,NULL,0,&dwThreadId); feisimo=LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BALL)); if(feisimo == NULL) { MessageBox(hwnd, "no cargo feisimo :'( llora", "Error", MB_OK | MB_ICONEXCLAMATION); } } break; case WM_PAINT: { BITMAP bm; PAINTSTRUCT ps; HDC hdc= BeginPaint(hwnd,&ps); HDC hdcMem= CreateCompatibleDC(hdc); HBITMAP hbmOld=(HBITMAP)SelectObject(hdcMem,feisimo); GetObject(feisimo,sizeof(bm),&bm); BitBlt(hdc,350,0,bm.bmWidth,bm.bmHeight,hdcMem,0,0,SRCCOPY); SelectObject(hdcMem,hbmOld); DeleteDC(hdcMem); EndPaint(hwnd,&ps); } break; case WM_DESTROY: PostQuitMessage (0); /* send a WM_QUIT to the message queue */ break; default: /* for messages that we don't deal with */ return DefWindowProc (hwnd, message, wParam, lParam); } return 0; }
|
|
« Última modificación: 18 Noviembre 2013, 03:06 am por daryo »
|
En línea
|
buenas
|
|
|
xaps
Desconectado
Mensajes: 157
|
Buen copy-paste: Acuérdate de poner los créditos la próxima vez. Saludos
|
|
« Última modificación: 18 Noviembre 2013, 09:34 am por xaps »
|
En línea
|
"The programmers of tomorrow are the wizards of the future" - Gave Newel
|
|
|
daryo
|
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
|
|
« Última modificación: 25 Noviembre 2013, 01:08 am por daryo »
|
En línea
|
buenas
|
|
|
xaps
Desconectado
Mensajes: 157
|
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 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
|
|
« Última modificación: 25 Noviembre 2013, 03:18 am por xaps »
|
En línea
|
"The programmers of tomorrow are the wizards of the future" - Gave Newel
|
|
|
daryo
|
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.
|
|
« Última modificación: 25 Noviembre 2013, 13:04 pm por daryo »
|
En línea
|
buenas
|
|
|
xaps
Desconectado
Mensajes: 157
|
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
|
|
|
En línea
|
"The programmers of tomorrow are the wizards of the future" - Gave Newel
|
|
|
daryo
|
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
|
|
« Última modificación: 25 Noviembre 2013, 18:28 pm por daryo »
|
En línea
|
buenas
|
|
|
|
|