Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 4
1

Ошибка компилятора C3861

04.02.2020, 16:57. Просмотров 1829. Ответов 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
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
#pragma once
#include <Windows.h>
#include <TlHelp32.h>
#include <comdef.h>
 
struct PModule
{
    DWORD dwBase;
    DWORD dwAdress;
    DWORD dwSize;
};
 
class memory
{
public:
    inline bool Attach(const char* pName, DWORD dwAccess)
    {
        HANDLE handle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
 
        PROCESSENTRY32 entry;
 
        do
            if (!strcmp(_bstr_t(entry.szExeFile), pName))
            {
                _pId = entry.th32ProcessID;
                CloseHandle(handle);
                _process = OpenProcess(dwAccess, false, _pId);
                return true;
            }
        while (Process32Next(handle, &entry));
        return false;
    }
 
    inline PModule GetModule(const char* pModule)
    {
        HANDLE module = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, _pId);
        MODULEENTRY32 entry;
        entry.dwSize = sizeof(entry);
 
        do
            if (!strcmp(_bstr_t(entry.szModule), pModule))
            {
                CloseHandle(module);
                return PModule{ reinterpret_cast<DWORD>(entry.hModule), entry.modBaseSize };
            }
        while (Module32Next(module, &entry));
 
        return PModule{ 0, 0 };
    }
 
    template <class T>
    T Read(const DWORD dwAddress)
    {
        T _read;
        ReadProcessMemory(_process, LPVOID(dwAddress), &_read, sizeof(T), NULL);
        return _read;
    }
 
    template <class T>
    void Write(const DWORD wdAdress, const T value)
    {
        WriteProcessMemory(_process, LPVOID(dwAdress), &value, sizeof(T), NULL);
    }
 
    void Exit()
    {
        CloseHandle(_process);
    }
private:
    HANDLE _process;
    DWORD _pId;
};
C3861 dwAdress: идентификатор не найден
Не могу понять в чем дело, подскажите в чем проблема (строка 62), а то я вообще не разбираюсь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2020, 16:57
Ответы с готовыми решениями:

Ошибка компилятора
Всем привет) У меня такая вот проблема с компилятором Сначала всё шло хорошо. Потом стала...

Ошибка компилятора C2600
Здравствуйте. Такая ошибка:&quot;c:\my documets\visual studio 2013\projects\step4\step4\step4.cpp(93):...

Ошибка компилятора fatal error C1091: ограничение компилятора: длина строки превышает 65535 байт
Компилируя программу вот такой командой: cl /O2 /Oi /GL /EHsc /MD /Gy main.cpp И компилятор...

Ошибка компилятора?
Пмогите разобраться с MVS 2008. Во время компиляции выдает сообщение: 1&gt;Внедрение манифеста......

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
5
Mental handicap
1243 / 621 / 171
Регистрация: 24.11.2015
Сообщений: 2,426
04.02.2020, 17:00 2
Цитата Сообщение от AlexP1406 Посмотреть сообщение
Ошибка компилятора C3861
Ни о чем не говорит.
Дайте полное описание ошибки.
Цитата Сообщение от AlexP1406 Посмотреть сообщение
а то я вообще не разбираюсь
Тогда как вы этот код написали?
0
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 4
04.02.2020, 17:02  [ТС] 3
По видео https://www.youtube.com/watch?v=yzPeTFXavLs
0
Mental handicap
1243 / 621 / 171
Регистрация: 24.11.2015
Сообщений: 2,426
04.02.2020, 17:06 4
Лучший ответ Сообщение было отмечено AlexP1406 как решение

Решение

Цитата Сообщение от AlexP1406 Посмотреть сообщение
C3861 dwAdress: идентификатор не найден
void Write(const DWORD wdAdress, const T value)
WriteProcessMemory(_process, LPVOID(dwAdress)...);
Найдите 1 отличие.
1
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 4
04.02.2020, 17:07  [ТС] 5
В списке ошибок ничего кроме этого не написано
0
Миниатюры
Ошибка компилятора C3861  
0 / 0 / 0
Регистрация: 04.02.2020
Сообщений: 4
04.02.2020, 17:09  [ТС] 6
Не знаю в чем отличия, но теперь все работает. Спасибо)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2020, 17:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Ошибка компилятора как исправить
Не силен в VS2010 При компиляции дает странную ошибку. error C4430: отсутствует спецификатор...

Глюк компилятора или в чём может быть ошибка?
Скачал исходники obs studio, создал решение под ms vs 2013 с помощью cmake. Пытаюсь собрать, но...

При запуске программы ошибка компилятора Visual Studio 2008
При запуске программы компилятор Visual Studio 2008 пишет, что не может поключить некоторые...

Ошибка компилятора. Что сделать, что бы среда работала?
http://i064.***********/1210/33/00be8b0c26e9t.jpg Что сделать что бы среда работала нормально?


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

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

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