Форум программистов, компьютерный форум, киберфорум
DirectX
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 25.05.2016
Сообщений: 2
1

Компьютер зависает при выходе из программы

25.05.2016, 18:39. Показов 1587. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В оконном режиме программа работает, а вот при полноэкранном начинаются странные ошибки.
При полноэкранном режиме при выходе из программы компьютер полностью зависает. Помогает только отключение с разетки. Это уже несколько раз было((

В этой функции закоментированы те строки, в которых происходит установка полноэкранного режима. Ну и еще поле Windowed
в структуре D3DPRESENT_PARAMETERS устанавливаю в FALSE

Вообщем почему в полноэкранном режиме при выходе из программы компьютер зависает? Клавиатура не работает, мышка тоже вроде не работает.
Спасает только перезагрузка. И как правильно сделать чтобы был полноэкранный режим а не оконный?


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
BOOL InitDirect3D(HWND hWnd)
{
    HRESULT hResult = S_OK;
 
 
    pDirect3D = Direct3DCreate9(D3D_SDK_VERSION);
    if (!pDirect3D)
        return FALSE;
 
 
    D3DDISPLAYMODE  displayMode = {};
    hResult = pDirect3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &displayMode);
    if ( FAILED(hResult) )
        return FALSE;
 
 
    
    D3DPRESENT_PARAMETERS   d3dPresentParameters = {};
 
    d3dPresentParameters.Windowed                   = TRUE;
 
    //d3dPresentParameters.BackBufferWidth          = displayMode.Width;
    //d3dPresentParameters.BackBufferHeight         = displayMode.Height;
    d3dPresentParameters.BackBufferFormat           = displayMode.Format;
    //d3dPresentParameters.BackBufferCount          = 3;
 
    d3dPresentParameters.SwapEffect                 = D3DSWAPEFFECT_DISCARD;
    
    d3dPresentParameters.EnableAutoDepthStencil     = TRUE;             // Z-Buffer...
    d3dPresentParameters.AutoDepthStencilFormat     = D3DFMT_D16;
 
    //d3dPresentParameters.FullScreen_RefreshRateInHz   = displayMode.RefreshRate;
 
 
    hResult = pDirect3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING,
        &d3dPresentParameters, &pDirect3DDevice);
 
    if ( FAILED(hResult) )
        return FALSE;
 
 
    pDirect3DDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CW);
    pDirect3DDevice->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
 
    return TRUE;
}
Добавлено через 3 минуты
Да, выхожу при нажатии Esc. В оконной процедуре отлавливаю нажатия клавиш WM_KEYDOWN и потом вызываю PostQuitMessage с аргументом 0. И в этот момент комп зависает напрочь(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2016, 18:39
Ответы с готовыми решениями:

Компьютер зависает при выходе из сна и гибернации
После включения из режима сна (S3) компьютер зависает, т.е. загорается сигнал питания на корпусе,...

Компьютер иногда зависает при выходе из ScreenServer'а, часто в играх с 3D окружением.
Всем привет. Помогите!!! Я не совсем понимаю, в чем проблема, но могу только догадываться. Мне...

При работе программы AuslogicsBootSpeed зависает компьютер
Добрый день!Когда проверяю на наличие ошибок диск С программой AuslogicsBootSpeed, проверка...

Компьютер зависает наглухо при работе программы FsCapture
Привет все!!! у меня зависать компьютер намертво, когда я снимаю видео вот этой программой...

1
0 / 0 / 0
Регистрация: 17.07.2016
Сообщений: 28
28.08.2016, 18:05 2
Полноэкранный режим:
C++
1
CreateWindowEx(WS_EX_TOPMOST, "Класс", "Название", WS_POPUP, CW_USEDEFAULT, CW_USEDEFAULT, WindowWidth, WindowHeight, NULL, NULL, hInstance, NULL);
Было что-то похожее, только у меня вылетало из-за оконного режима от параметра RefreshRate, поскольку он идет только для полного экрана. У тебя проблема скорее не в параметрах инициализации D3D. А в самом завершении работы программы, было тоже что-то похожее, программа всегда вылетала при закрывании. Жму закрыть она исчезла, а процесс остался. Покажи функции создания окна и обработки сообщений.
0
28.08.2016, 18:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2016, 18:05
Помогаю со студенческими работами здесь

Зависает компьютер при открытии любого видео-файла, программы или серфинга в интернете.
В общем проблемка такая, купил я значит комп где то 8 месяцев назад (конфигурация указана ниже) на...

Зависает при выходе приложение
Доброй ночи. Имеется консольное приложение, которое убивает процессы всех открытых файлов. Проблема...

Не перезагружается компьютер при выходе из BIOS
При выходе из биоса (UEFI) компьютер не перезагружается. Т.е. все кулеры крутятся, но показывает...

При выходе из BIOS компьютер выключается
Доброго времени суток. У меня вопрос не столь серьёзный, но я столкнулся с этим впервые и ответа...


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

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