Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.06.2013
Сообщений: 72

Ошибка "0x003c9991" в "MyProgectKvadrat.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"

05.07.2014, 19:06. Показов 573. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Есть 2 функции, одна инициализирует Input, а другая запускает его, я их разделил:
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
BOOL WINAPI InitialInput(HWND hwnd, HINSTANCE hinstance)
{
    if (FAILED(DirectInput8Create(hinstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&pInput, NULL)))
    {
        return E_FAIL;
    }
    if (FAILED(pInput -> CreateDevice(GUID_SysKeyboard, &pKeyboard, NULL)))
    {
        DeleteInput();
        return false;
    }
    if (FAILED(pKeyboard ->SetDataFormat(&c_dfDIKeyboard)))
    {
        DeleteInput();
        return false;
    }
    if (FAILED(pKeyboard -> SetCooperativeLevel(hwnd, DISCL_FOREGROUND|DISCL_NONEXCLUSIVE)))
    {
        DeleteInput();
        return false;
    }
    if (FAILED(pKeyboard -> Acquire()))
    {
        DeleteInput();
        return false;
    }
    return true;
}
 
bool Input()
{
    if FAILED(pKeyboard -> GetDeviceState(sizeof(keyboard), (LPVOID)&keyboard))
    {
        DeleteInput();
        return FALSE;
    }
    if(!shipVec.empty())
    {
        if(KEYDOWN(keyboard, DIK_UP))
        {
            shipVec[0]->unitVector = D3DXVECTOR2(0.0f, -1.0f);
            shipVec[0]->Moove();
        }
        if(KEYDOWN(keyboard, DIK_DOWN))
        {
            shipVec[0]->unitVector = D3DXVECTOR2(0.0f, 1.0f);
            shipVec[0]->Moove();
        }
        if(KEYDOWN(keyboard, DIK_LEFT))
        {
            shipVec[0]->unitVector = D3DXVECTOR2(-1.0f, 0.0f);
            shipVec[0]->Moove();
        }
        if(KEYDOWN(keyboard, DIK_RIGHT))
        {
            shipVec[0]->unitVector = D3DXVECTOR2(1.0f, 0.0f);
            shipVec[0]->Moove();
        }
        if(KEYDOWN(keyboard, DIK_SPACE))
        {
            timeBullet2 = timeGetTime();
            if (bulletVec.size() < shipVec[0]->GetMaxBulletNumber() && timeBullet2 - timeBullet1 > 200)//bulletVec.back()->GetIterationCounter() >= 0)
            {
                if (shipVec[0]->GetBulletBonus() == "BulletSimple")
                {
                    Bullet* bul = new BulletSimple(shipVec[0]);
                    bulletVec.push_back(bul);
                }
                if (shipVec[0]->GetBulletBonus() == "BulletShrapnel")
                {
                    Bullet* bul = new BulletShrapnel(shipVec[0]);
                    bulletVec.push_back(bul);
                }
                timeBullet1 = timeBullet2;
            }
        }
    }
    return true;
}
Во время выполнения иногда возникает ошибка:

Первый этап обработки исключения в "0x003c9991" в "MyProgectKvadrat.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000".
Необработанное исключение в "0x003c9991" в "MyProgectKvadrat.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000".

Меня кидает в код, появляется желтая стрелка, указывающая на первую строчку функции Input:
C++
1
if FAILED(pKeyboard -> GetDeviceState(sizeof(keyboard), (LPVOID)&keyboard))
Что это может быть? Может стоит вновь соединить эти функции?

Добавлено через 4 часа 8 минут
К стати, сейчас понял, что это происходит при каком-нибудь стороннем сообщении - системном, или при подключении флешки и т. д. Можно ли это исправить?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.07.2014, 19:06
Ответы с готовыми решениями:

Необработанное исключение в "0x778e15de" в "dir-3.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"
#include &lt;windows.h&gt; #include &lt;d3d9.h&gt; LRESULT __stdcall WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); struct...

"Необработанное исключение в "0x00417c85" в "oui2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x00000000"."
Пишем программу в VS 2010 на С++ DirectX SDK (June 2010). Доходя до одной строчки появляется ошибка: &quot;Необработанное исключение в...

Ошибка 0xC0000005: нарушение прав доступа при записи по адресу 0x00000000
Добрый день, я пытаюсь сделать так чтобы данные из файла .txt записались в структу и вывелись в консоль, но получаю ошибку 0xC0000005:...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2014, 19:06
Помогаю со студенческими работами здесь

Необработанное исключение по адресу 0x00EB1F23 в ConsoleApplication49.exe: 0xC0000005: нарушение прав доступа при чтении
В функции Max выдает такую ошибку на строчке с int Z Необработанное исключение по адресу 0x00EB1F23 в ConsoleApplication49.exe:...

Необработанное исключение по адресу 0x00E730CD в ConsoleApplication18.exe: 0xC0000005: нарушение прав доступа при чтении
Задана целочисленная динамическая матрица M. Элементы этой матрицы, без остатка делящиеся на 6, переписать в динамический массив L и найти...

Необработанное исключение по адресу 0x004490F8 в ConsoleApplication1.exe: 0xC0000005: нарушение прав доступа при чтении
Я реализую дерево. Хочу добавить элемент через указание ссылки на родителя. Но непонятно почему я получаю исключение в классе Tree, 14...

Chat_Server. Ошибка 0xC0000005: нарушение прав доступа при чтении
ребят помогите пишу серверную часть чата по сети на C++ Выдает ошибку: Необработанное исключение по адресу 0x000B13CA в...

Вызвано исключение по адресу 0x01083191 в ConsoleApplication.exe: 0xC0000005: нарушение прав доступа при чтении по адрес
Вызвано исключение по адресу 0x01083191 в ConsoleApplication.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00DEF5E9. ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru