Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
2 / 2 / 3
Регистрация: 25.12.2014
Сообщений: 258
1

Ошибка `GetConsoleWindow' was not declared in this scope

06.04.2016, 21:23. Показов 6311. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На Microsoft Visual Studio 2010 работает все, запускаю на C-Free 5, выдает ошибки. Библиотеки вроде подключилю Из-за чего ошибки??

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <Windows.h>
#include <stdio.h>
#include <conio.h>
#include <cstdlib>
 
 
HBRUSH brush;
HPEN pen;
 
void WriteText(HDC dc,char* txt,int x, int y,COLORREF color,int length,int size=10)
{
    HFONT font=CreateFontA((int)size*2.5,(int)size*1.5,0,0,1,0,0,0,0,0,0,0,0,"Arial");
    SelectObject(dc,font);
    SetTextColor(dc,color);
    TextOut(dc,x,y,txt,length);
}
 
char * GetRandChar() {
    static char d[2];
    d[0] = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"[rand()%33];
    d[1] = 0;
    return d;
}
 
int main() {
    ShowWindow(GetConsoleWindow(),SW_HIDE);
    system("chcp 1251>NUL");
    SetBkColor(GetDC(0),RGB(255,255,255));
    SetBkMode(GetDC(0),TRANSPARENT);
    while(!GetAsyncKeyState(VK_ESCAPE)) {
        Sleep(20);
        WriteText(GetDC(0),GetRandChar(),rand()%1600,rand()%900,RGB(rand()%255,rand()%255,rand()%255),1,rand()%25+5);
    }
    InvalidateRect(0,NULL,false);
    return 0;
}
Кликните здесь для просмотра всего текста
--------------------Configuration: mingw5 - CUI Debug, Builder Type: MinGW--------------------

Checking file dependency...
Compiling C:\Users\Maks\Desktop\10-15\lab_15_15_2\lab_15_15_2\main.cpp...
[Warning] C:\Users\Maks\Desktop\10-15\lab_15_15_2\lab_15_15_2\main.cpp:12: warning: passing `double' for converting 1 of `HFONT__* CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, const CHAR*)'
[Warning] C:\Users\Maks\Desktop\10-15\lab_15_15_2\lab_15_15_2\main.cpp:12: warning: passing `double' for converting 2 of `HFONT__* CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, const CHAR*)'
[Error] C:\Users\Maks\Desktop\10-15\lab_15_15_2\lab_15_15_2\main.cpp:26: error: `GetConsoleWindow' was not declared in this scope
[Warning] C:\Users\Maks\Desktop\10-15\lab_15_15_2\lab_15_15_2\main.cpp:36:2: warning: no newline at end of file

Complete Make main: 1 error(s), 3 warning(s)

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2016, 21:23
Ответы с готовыми решениями:

'arr' was not declared in this scope 'sum' was not declared in this scope такие вот ошибки.(
#include &lt;iostream&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; using namespace std; int main () { ...

Ошибка 'N' was not declared in this scope
#include &lt;iostream&gt; using namespace std; int N int vvod(int N,int A,int I) { ...

Ошибка was not declared in this scope
main. cpp #include &quot;PoolAllocator.h&quot; ... reqs.addr = Allocate(reqs.bytes, 10); ...

Ошибка was not declared in this scope
Как мне её исправить polimorfizm1881.cpp: In function ‘int main()’: polimorfizm1881.cpp:38:29:...

10
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
06.04.2016, 21:33 2
Цитата Сообщение от MegaRoks Посмотреть сообщение
Из-за чего ошибки??
Цитата Сообщение от MegaRoks Посмотреть сообщение
mingw5
не знаю.
знаю, что под виндой мингв вижуал студии не конкурент.
с ним постоянно какие то проблемы вылезают.
0
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,668
06.04.2016, 21:35 3
А если Wincon.h добавить?
0
2 / 2 / 3
Регистрация: 25.12.2014
Сообщений: 258
06.04.2016, 22:00  [ТС] 4
Она добавлена, самая первая
0
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,668
06.04.2016, 22:11 5
Внимательно прочитай.
0
2 / 2 / 3
Регистрация: 25.12.2014
Сообщений: 258
07.04.2016, 04:25  [ТС] 6
Все равно одна и та же ошибка.

Кликните здесь для просмотра всего текста
--------------------Configuration: mingw5 - CUI Debug, Builder Type: MinGW--------------------

Checking file dependency...
Compiling C:\Users\Maks\Desktop\Ïðîãà\10-15\lab_15_15_2\lab_15_15_2\main.cpp...
[Warning] C:\Users\Maks\Desktop\Ïðîãà\10-15\lab_15_15_2\lab_15_15_2\main.cpp:11: warning: passing `double' for converting 1 of `HFONT__* CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, const CHAR*)'
[Warning] C:\Users\Maks\Desktop\Ïðîãà\10-15\lab_15_15_2\lab_15_15_2\main.cpp:11: warning: passing `double' for converting 2 of `HFONT__* CreateFontA(int, int, int, int, int, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, const CHAR*)'
[Error] C:\Users\Maks\Desktop\Ïðîãà\10-15\lab_15_15_2\lab_15_15_2\main.cpp:25: error: `GetConsoleWindow' was not declared in this scope
[Warning] C:\Users\Maks\Desktop\Ïðîãà\10-15\lab_15_15_2\lab_15_15_2\main.cpp:35:2: warning: no newline at end of file

Complete Make main: 1 error(s), 3 warning(s)



Добавлено через 1 минуту
Ему чем то не нравится `GetConsoleWindow' was not declared in this scope. Из-за чего это?
0
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,668
07.04.2016, 09:31 7
http://stackoverflow.com/quest... this-scope
Вот здесь пишут, что нужно добавить define:
C++
1
2
#define _WIN32_WINNT 0x0500
#include <windows.h>
0
2 / 2 / 3
Регистрация: 25.12.2014
Сообщений: 258
07.04.2016, 12:17  [ТС] 8
Не помогло, та же ошибка

Кликните здесь для просмотра всего текста
[Error] C:\Users\Maks\Desktop\Ïðîãà\10-15\lab_15_15_2\lab_15_15_2\main.cpp:27: error: `GetConsoleWindow' was not declared in this scope
0
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,668
07.04.2016, 12:26 9
Ну открой эти файлы (windows.h, wincon.h) и поищи там функцию. Может отсутствует или какие-то условия компиляции заданы.

Добавлено через 3 минуты
А в самой среде указывается минимальная версия Windows для проекта? Может, у тебя там Windows 95 выбрана?
0
16 / 17 / 4
Регистрация: 27.06.2016
Сообщений: 236
03.06.2020, 15:33 10
Всёравно через поисковики попадаем на старые ветки форума :-)


Вот что нужно cделать в codeblocks чтобы вышеприведённый код рисующий эллипс заработал:

1) Добавить в параметры линкера команду: -lgdi32

это можно сделать глобально для всех проектов :
лезем в настройки кодеблокса сюда: setings -> compiler ->linker setings -> other linker options

или только для текущего проекта:

project ->buil options ->->linker setings -> other linker options



2) в код вашей программы добавить вот эти две строки( вторая строка по-моему уже там была):

#define _WIN32_WINNT 0x0500
#include<windows.h>


И все работает!!

Добавлено через 47 минут
вот пример работающего кода с пояснениями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#define _WIN32_WINNT 0x0500
#include<windows.h>
#include <wincon.h>
using namespace std;
 
int main()
{
    cout << "Hello world!" << endl;
    // готовимся и настравиваемся на рисование
    HWND hwnd=GetConsoleWindow();
    HDC hdc=GetDC(hwnd);
    HPEN p1,p2=CreatePen(PS_SOLID,1,RGB(255,0,0)); // Создаем красное перо толщиной 1, перо  это то чем рисуем контур фигур
    HBRUSH b1,b2=CreateSolidBrush(RGB(0,255,0)); // Создаем зеленую кисть, кисть это то чем закрашивается фигура
    p1=(HPEN)SelectObject(hdc,p2);  // Заносим красное перо в контекст рисования
    b1=(HBRUSH)SelectObject(hdc,b2);    // Заносим кисть в контекст рисования
 
    // рисуем: примеры рисования фигур
    Ellipse(hdc,10,10,100,100);  // рисуем эллипс (он вписан в прямоугольник заданный координатами)
    MoveToEx(hdc,100,100,NULL); //переносим точку  начала рисования в новое место иначе линия будет рисоваться от элипса.
    LineTo(hdc,200,200); // рисуем линию
    Rectangle(hdc,210,210,300,350);// рисуем прямоугольник
    RoundRect(hdc,210,110,300,180,10,10);// прямоугольник со скруглёнными краями( последние две цифры это размеры эллипса скругляющего края)
    TextOutA(hdc,100,150,"Heloo text",10); // Пишем строчку текста в заданных координатах (последняя цифра это количество отображаемых букв)
    SetPixel(hdc,130,120,RGB(0,255,0)); // вот как зажечь пиксел например для рисования функций
    return 0;
}
Добавлено через 5 секунд
вот пример работающего кода с пояснениями:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#define _WIN32_WINNT 0x0500
#include<windows.h>
#include <wincon.h>
using namespace std;
 
int main()
{
    cout << "Hello world!" << endl;
    // готовимся и настравиваемся на рисование
    HWND hwnd=GetConsoleWindow();
    HDC hdc=GetDC(hwnd);
    HPEN p1,p2=CreatePen(PS_SOLID,1,RGB(255,0,0)); // Создаем красное перо толщиной 1, перо  это то чем рисуем контур фигур
    HBRUSH b1,b2=CreateSolidBrush(RGB(0,255,0)); // Создаем зеленую кисть, кисть это то чем закрашивается фигура
    p1=(HPEN)SelectObject(hdc,p2);  // Заносим красное перо в контекст рисования
    b1=(HBRUSH)SelectObject(hdc,b2);    // Заносим кисть в контекст рисования
 
    // рисуем: примеры рисования фигур
    Ellipse(hdc,10,10,100,100);  // рисуем эллипс (он вписан в прямоугольник заданный координатами)
    MoveToEx(hdc,100,100,NULL); //переносим точку  начала рисования в новое место иначе линия будет рисоваться от элипса.
    LineTo(hdc,200,200); // рисуем линию
    Rectangle(hdc,210,210,300,350);// рисуем прямоугольник
    RoundRect(hdc,210,110,300,180,10,10);// прямоугольник со скруглёнными краями( последние две цифры это размеры эллипса скругляющего края)
    TextOutA(hdc,100,150,"Heloo text",10); // Пишем строчку текста в заданных координатах (последняя цифра это количество отображаемых букв)
    SetPixel(hdc,130,120,RGB(0,255,0)); // вот как зажечь пиксел например для рисования функций
    return 0;
}
0
0 / 0 / 0
Регистрация: 01.02.2021
Сообщений: 2
31.07.2021, 22:47 11
На MinGW, Win10 помогло
C++
1
#define _WIN32_WINNT 0x0600
0
31.07.2021, 22:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2021, 22:47
Помогаю со студенческими работами здесь

Ошибка was not declared in this scope
Создал окно graphwindow Добавил в него: QwtPlot *d_plot = new QwtPlot( this ); ...

Ошибка: ‘cluster’ was not declared in this scope
Допустим (какой-то пример): class test { public: void foo() { ...

ошибка Qint16 was not declared in this scope
В консольном QT приложении надо выводить символы и цифры. Вместо стандартных C++ ...

Ошибка: 'stepen' was not declared in this scope
Доброе утро гайс :) Подскажите пожалуйста что тут не так #include &quot;Header.h&quot; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru