'GetConsoleWindow' no se declaró en este ámbito?
-
21-12-2019 - |
Pregunta
#include<windows.h>
ya se han añadido, así que ¿por qué el GCC-mingw32 Compilador informó que 'GetConsoleWindow' was not declared in this scope
?
Aquí está mi código:
#include<iostream>
#include<cmath>
#include<windows.h>
using namespace std;
#define PI 3.14
int main()
{
//Get a console handle
HWND myconsole = GetConsoleWindow();
//Get a handle to device context
HDC mydc = GetDC(myconsole);
int pixel =0;
//Choose any color
COLORREF COLOR= RGB(255,255,255);
//Draw pixels
for(double i = 0; i < PI * 4; i += 0.05)
{
SetPixel(mydc,pixel,(int)(50+25*cos(i)),COLOR);
pixel+=1;
}
ReleaseDC(myconsole, mydc);
cin.ignore();
return 0;
}
Gracias.^^
Solución
De msdn:
Para compilar una aplicación que utiliza esta función, definir _WIN32_WINNT como 0x0500 o más tarde.
Así que usted puede intentar sustituir
#include<windows.h>
con
#define _WIN32_WINNT 0x0500
#include<windows.h>
O incluir SDKDDKVer.h
desde el SDK de Windows:
Incluyendo SDKDDKVer.h define el máximo disponible de la plataforma de Windows.
Otros consejos
El documentación dice:
Para compilar una aplicación que utiliza esta función, definir _WIN32_WINNT como 0x0500 o más tarde.
Sospecho que usted no lo hizo.
Es necesario definir el condicional antes de incluir windows.h.Tenga en cuenta que la versión 0x0500 corresponde a Windows 2000, por lo que en el improbable caso de que usted desee compatible con Windows NT4 o anterior, o Windows 9x, entonces usted necesitará cambiar a la utilización de tiempo de ejecución de la vinculación de lugar.
O, si usted recibe los errores diciendo que es redefinido, puedes usar este :
#if _WIN32_WINNT < 0x0500
#undef _WIN32_WINNT
#define _WIN32_WINNT 0x0500
#endif
#include <windows.h>