elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Game screenshot win vista/7
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Game screenshot win vista/7  (Leído 4,028 veces)
Destro-

Desconectado Desconectado

Mensajes: 66


www.onlyarg.com.ar


Ver Perfil WWW
Game screenshot win vista/7
« en: 31 Agosto 2011, 06:41 am »

Holas :).

Hay alguna forma de sacar un screenshot  de un juego en win vista/7 ?.
Con gui sale negra o el escritorio.Estuve biendo con DirectX pero lei que es muy lento y si la img esta en movimiento sale mal :S.

Hay alguna otra forma ?,opengl ?.




gracias :D.


@EDIT
Tambien lei que configurando algunas cosas en la compatibilidad del juego .exe se puede hacer que funcione con gui.Hay alguna forma de configurar eso desde otra aplicacion ?.


« Última modificación: 31 Agosto 2011, 06:43 am por Destro- » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.606


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Game screenshot win vista/7
« Respuesta #1 en: 31 Agosto 2011, 07:34 am »

deshabilitando la aceleración de hardware en dxdiag.


En línea

Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: Game screenshot win vista/7
« Respuesta #2 en: 31 Agosto 2011, 14:25 pm »

tenes que llamar a esta API:

http://msdn.microsoft.com/en-us/library/aa969510%28v=vs.85%29.aspx

antes de capturar la pantalla...

Código
  1. bool ManageTheme(bool a){
  2. return (DwmEnableComposition(a?DWM_EC_ENABLECOMPOSITION:DWM_EC_DISABLECOMPOSITION)==S_OK);
  3. }

S2
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Game screenshot win vista/7
« Respuesta #3 en: 31 Agosto 2011, 15:18 pm »

Muy buen aporte de Karman; si queres que el programa funcione en versiones anteriores de Windows usa enlazado dinamico (LoadLibrary + GetProcAddress).
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Destro-

Desconectado Desconectado

Mensajes: 66


www.onlyarg.com.ar


Ver Perfil WWW
Re: Game screenshot win vista/7
« Respuesta #4 en: 31 Agosto 2011, 17:27 pm »

Gracias a los 2 :D,veo que sale xd.


@EDIT

creo que pude :).pero asta que no instale el msn no voy saber si funciona :S.

Código:
#include <windows.h>
#include <winbase.h>

#include <captura.h>

#define DWM_EC_DISABLECOMPOSITION   0
#define DWM_EC_ENABLECOMPOSITION    1

typedef UINT (CALLBACK* DLLFUNC)(UINT);
DLLFUNC DwmEnableComposition;

bool init_dll();
void fix_win_vis_7(bool enable);

bool is_win_vis_7;

int main()
{
    if(init_dll()) {
        is_win_vis_7 = true;
        MessageBox(NULL, "Dwmapi.dll OK", "test", MB_OK | MB_ICONEXCLAMATION);
    }
    
    Sleep(5000);
    
    if(is_win_vis_7)
        fix_win_vis_7(true);
        
    cap("test.bmp");
    
    if(is_win_vis_7)
        fix_win_vis_7(false);
    
    MessageBox(NULL, "Screenshot sacada", "test", MB_OK | MB_ICONEXCLAMATION);
    
    return 0;
}

void fix_win_vis_7(bool enable)
{
     DwmEnableComposition(enable?DWM_EC_ENABLECOMPOSITION:DWM_EC_DISABLECOMPOSITION);
}

bool init_dll()
{
     HINSTANCE hDLL;
    
     hDLL = LoadLibrary("Dwmapi");
     if(hDLL == NULL)
          return false;

     DwmEnableComposition = (DLLFUNC)GetProcAddress(hDLL, "DwmEnableComposition");

     if(!DwmEnableComposition)
     {
          FreeLibrary(hDLL);
          return false;
     }
     return true;
}


Esta bien ?.
« Última modificación: 31 Agosto 2011, 20:37 pm por Destro- » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
enviar screenshot en vb
Programación Visual Basic
c0rrupt_gamer 1 3,011 Último mensaje 10 Mayo 2005, 21:12 pm
por c0rrupt_gamer
Game boy pasó de moda...GAME MAN !
Juegos y Consolas
skapunky 3 4,229 Último mensaje 28 Junio 2007, 13:57 pm
por peib0l
[Batch Game] Adventure Game - by SmartGenius
Scripting
SmartGenius 0 3,419 Último mensaje 17 Julio 2009, 06:15 am
por SmartGenius
[Batch Game] The Pair Game - by SmartGenius
Scripting
SmartGenius 5 6,019 Último mensaje 10 Agosto 2010, 23:36 pm
por DA KILLER
Screenshot a Ram
.NET (C#, VB.NET, ASP)
Codename!! 2 2,393 Último mensaje 5 Noviembre 2010, 18:08 pm
por Codename!!
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines