Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
артист
94 / 20 / 20
Регистрация: 17.09.2014
Сообщений: 1,188
Завершенные тесты: 2
1

Окно программы просто не появляется

24.12.2015, 18:50. Просмотров 911. Ответов 4
Метки нет (Все метки)

Блин, не пойму что за дела.

При компиляции не вылезает окно, просто что - то вылезает в VS по бокам, и сразу улезает...

Ошибок никаких нет:
"AES Uncript.exe" (Win32). Загружено "D:\Project C++\AES Uncript\Debug\AES Uncript.exe". Символы загружены.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\user32.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\gdi32.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\vcruntime140d.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\ucrtbased.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\advapi32.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcrt.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\sechost.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\rpcrt4.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\cryptbase.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\sspicli.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\bcryptprimitives.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\imm32.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\msctf.dll". Невозможно найти или открыть PDB-файл.
"AES Uncript.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel.appcore.dll". Невозможно найти или открыть PDB-файл.
Программа "[1164] AES Uncript.exe" завершилась с кодом 0 (0x0).
Сам код(тут и нет ничего, просто пустое окно во весь экран):
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// Включение SDKDDKVer.h обеспечивает определение самой последней доступной платформы Windows.
// Если требуется выполнить построение приложения для предыдущей версии Windows, включите WinSDKVer.h и
// задайте для макроса _WIN32_WINNT значение поддерживаемой платформы перед включением SDKDDKVer.h.
#include <SDKDDKVer.h> 
 
// Файлы заголовков Windows:
#include <windows.h>
 
// Файлы заголовков C RunTime
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
 
#define IDD_EDIT_DIALOG     102
#define IDS_APP_TITLE       103
#define IDR_MAINFRAME       128
#define IDI_EDIT            107
#define IDI_SMALL           108
#define IDC_EDIT            109
#define IDC_MYICON          2
 
#define MAX_LOADSTRING      100
 
HINSTANCE hInst;
HFONT hFont;
TCHAR szTitle[MAX_LOADSTRING], szWindowClass[MAX_LOADSTRING];
 
ATOM                MyRegisterClass(HINSTANCE hInstance);
BOOL                InitInstance(HINSTANCE, int);
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);
 
int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPTSTR  lpCmdLine, _In_ int   nCmdShow)
{
    UNREFERENCED_PARAMETER(hPrevInstance);
    UNREFERENCED_PARAMETER(lpCmdLine);
 
    MSG msg;
    HACCEL hAccelTable;
 
    LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
    LoadString(hInstance, IDC_EDIT, szWindowClass, MAX_LOADSTRING);
    MyRegisterClass(hInstance);
 
    if(!InitInstance(hInstance, nCmdShow)) return FALSE;
 
    hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_EDIT));
 
    while (GetMessage(&msg, NULL, 0, 0))
    {
        if(TranslateAccelerator(msg.hwnd, hAccelTable, &msg) != 0) continue;
 
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    return (int)msg.wParam;
}
ATOM MyRegisterClass(HINSTANCE hInstance)
{
    WNDCLASSEX wcex;
 
    wcex.cbSize = sizeof(WNDCLASSEX);
 
    wcex.style = CS_HREDRAW | CS_VREDRAW;
    wcex.lpfnWndProc = WndProc;
    wcex.cbClsExtra = 0;
    wcex.cbWndExtra = 0;
    wcex.hInstance = hInstance;
    wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_EDIT));
    wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
    wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
    wcex.lpszMenuName = MAKEINTRESOURCE(IDC_EDIT);
    wcex.lpszClassName = szWindowClass;
    wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));
 
    return RegisterClassEx(&wcex);
}
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
    hInst = hInstance;
    
    RECT resolut; GetWindowRect(GetDesktopWindow(), &resolut);
    HWND hWnd; hWnd = CreateWindowExW(NULL, szWindowClass, szTitle, WS_SYSMENU, NULL, NULL, resolut.right, resolut.bottom, NULL, NULL, hInstance, NULL);
    if (!hWnd) return FALSE;
 
    hFont = CreateFontW(16, 0, 0, 0, FW_DONTCARE, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, L"Arial");
 
    SendMessageW(hWnd, WM_SETFONT, WPARAM(hFont), TRUE);
 
    ShowWindow(hWnd, nCmdShow);
    UpdateWindow(hWnd);
 
    return TRUE;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch(message)
    {
        case WM_CREATE:
        {
            // Тут объекты создать
            break;
        }
        case WM_COMMAND:
        {
            // Тут обработчик
            break;
        }
        case WM_PAINT:
        {
            PAINTSTRUCT ps;
            HDC hdc = BeginPaint(hWnd, &ps);
            RECT r; r.left = 0; r.top = 300; r.right = 0; r.right = 500;
            FillRect(hdc, &r, (HBRUSH)CreateSolidBrush(RGB(200, 200, 200)));
 
            HFONT font = (HFONT)GetStockObject(DEFAULT_GUI_FONT);
            SelectObject(hdc, font);
            SetTextAlign(hdc, TA_CENTER | VTA_CENTER);
 
            EndPaint(hWnd, &ps);
            break;
        }
        case WM_DESTROY:
        {
            PostQuitMessage(0);
            break;
        }
        default: return DefWindowProcW(hWnd, message, wParam, lParam);
    }
    return 0;
}
Нет никаких включений.
Я сначала создал проект, потом удалил все ненужные заголовки, раздражает меня обильное количество файлов...
Ну и конечно всё что нужно из них вырезал и вставил сюда...
Пара инклудов, и дефайнов...

Кто может сказать, почему окна то нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2015, 18:50
Ответы с готовыми решениями:

Окно программы появляется и тут же исчезает (CodeBlock)
Дабы не плодить однотипные темы на форуме, отпишу суть проблемы в этой. ...

Окно появляется и исчезает
Люди.. помогите кто знает в чем причина.... уже все перепробовал и все одно и...

Не появляется диалоговое окно
В visual studio 2010 в программе нет ошибок, но диалоговое окно с результатом...

В чем ошибка? Выводит просто черное окно
В чем ошибка? Выводит просто черное окно #include &lt;SFML\Graphics.hpp&gt;...

Окно появляется и сразу же пропадает
Доброго времени суток! Проблема состоит в следующем. Недавно начал изучать С++....

4
avgoor
1041 / 609 / 157
Регистрация: 05.12.2015
Сообщений: 1,732
24.12.2015, 19:26 2
Лучший ответ Сообщение было отмечено артист как решение

Решение

Цитата Сообщение от артист Посмотреть сообщение
потом удалил все ненужные заголовки
Видимо нужные. Их таких 2. resource.h и stdafx.h.
1
артист
94 / 20 / 20
Регистрация: 17.09.2014
Сообщений: 1,188
Завершенные тесты: 2
24.12.2015, 19:27  [ТС] 3
Ну так я из них всё сюда вставил...
Даже в той же последовательности.
Вверху.
0
avgoor
1041 / 609 / 157
Регистрация: 05.12.2015
Сообщений: 1,732
24.12.2015, 19:35 4
Лучший ответ Сообщение было отмечено артист как решение

Решение

Это не просто хедеры. resource.h - вообще руками править не рекоммендуется. c stdafx.h проще. Надо просто удалить из свойств проекта использование прекомпилированного заголовка. И наслаждаться увеличением времени компиляции.
1
артист
94 / 20 / 20
Регистрация: 17.09.2014
Сообщений: 1,188
Завершенные тесты: 2
24.12.2015, 21:26  [ТС] 5
stdafx.h:
Кликните здесь для просмотра всего текста
// stdafx.h: включаемый файл для стандартных системных включаемых файлов
// или включаемых файлов для конкретного проекта, которые часто используются, но
// не часто изменяются
//

#pragma once

#include "targetver.h"

#define WIN32_LEAN_AND_MEAN // Исключите редко используемые компоненты из заголовков Windows
// Файлы заголовков Windows:
#include <windows.h>

// Файлы заголовков C RunTime
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>


// TODO: Установите здесь ссылки на дополнительные заголовки, требующиеся для программы


stdafx.cpp:
Кликните здесь для просмотра всего текста
// stdafx.cpp: исходный файл, содержащий только стандартные включаемые модули
// Created Dictionaries.pch будет предкомпилированным заголовком
// stdafx.obj будет содержать предварительно откомпилированные сведения о типе

#include "stdafx.h"

// TODO: Установите ссылки на любые требующиеся дополнительные заголовки в файле STDAFX.H
// , а не в данном файле


targetver.h:
Кликните здесь для просмотра всего текста
#pragma once

// Включение SDKDDKVer.h обеспечивает определение самой последней доступной платформы Windows.

// Если требуется выполнить построение приложения для предыдущей версии Windows, включите WinSDKVer.h и
// задайте для макроса _WIN32_WINNT значение поддерживаемой платформы перед включением SDKDDKVer.h.

#include <SDKDDKVer.h>


resourse.h
Кликните здесь для просмотра всего текста
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by Created Dictionaries.rc
//

#define IDS_APP_TITLE 103

#define IDR_MAINFRAME 128
#define IDD_CREATEDDICTIONARIES_DIALOG 102
#define IDD_ABOUTBOX 103
#define IDM_ABOUT 104
#define IDM_EXIT 105
#define IDI_CREATEDDICTIONARIES 107
#define IDI_SMALL 108
#define IDC_CREATEDDICTIONARIES 109
#define IDC_MYICON 2
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
// Следующие стандартные значения для новых объектов
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS

#define _APS_NO_MFC 130
#define _APS_NEXT_RESOURCE_VALUE 129
#define _APS_NEXT_COMMAND_VALUE 32771
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 110
#endif
#endif


И вот у меня, всё то же:
// Включение SDKDDKVer.h обеспечивает определение самой последней доступной платформы Windows.
// Если требуется выполнить построение приложения для предыдущей версии Windows, включите WinSDKVer.h и
// задайте для макроса _WIN32_WINNT значение поддерживаемой платформы перед включением SDKDDKVer.h.
#include <SDKDDKVer.h>

// Файлы заголовков Windows:
#include <windows.h>

// Файлы заголовков C RunTime
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>

#define IDD_EDIT_DIALOG 102
#define IDS_APP_TITLE 103
#define IDR_MAINFRAME 128
#define IDI_EDIT 107
#define IDI_SMALL 108
#define IDC_EDIT 109
#define IDC_MYICON 2
Добавлено через 1 час 23 минуты
Всё дело в файле название_проекта.rc было.

Создал пустой проект, начал копаться, и оказывается тут этот файл редактировать можно...
А я до этого в блокноте убирал кнопки меню и о программе

Вот сейчас поудалял через VS, акселлератор, меню какие - то, опять не открывается...

Добавлено через 18 минут
String Table нельзя удалять
0
24.12.2015, 21:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2015, 21:26

Окно .exe появляется и сразу исчезает
Здравствуйте, не могу её по завершению остановить, пробовал с getch()...

Окно командной строки исчезает и появляется вновь
После компиляции любого кода на MS Visual Studio 2012 появляется окно командной...

Появляется на несколько мгновений черное окно и исчезает
Здравствуйте! Помогите новичку. Начал изучать C++ по книге Schildt H. /...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru