Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.65/26: Рейтинг темы: голосов - 26, средняя оценка - 4.65
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739

EnumDisplayDevices

17.04.2010, 22:57. Показов 5570. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
что делать если пишит что функция EnumDisplayDevices
error C2065: 'EnumDisplayDevices' : undeclared identifier
подключил все библиотеки и h файлы все равно пишит помоги пожалуйста
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.04.2010, 22:57
Ответы с готовыми решениями:

Работа с EnumDisplayDevices
Все добрый день. На лето задали практику - написать прогу которая получает инфу о компе, с оперативкой, процессором, ОС и с жестким диском...

Как правильно вызвать EnumDisplayDevices?
Здравствуйте, подскажите, как мне вызвать правильно EnumDisplayDevices Пробую как в коде, который мне скомпилировала Visual Studio, но...


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

Или воспользуйтесь поиском по форуму:
26
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
17.04.2010, 23:04
sergeu90, конкретнее, что именно подключал, как, что за среда?
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 02:22  [ТС]
visual studio 6.0 в консоли делал
подключал
#include <windows.h>
#include <Winuser.h>
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 02:28
sergeu90, заголовочные файлы верные. Хм... Странно...
Сейчас проверил у себя:
C++
1
2
3
4
5
6
7
#include <windows.h>
 
int main() {
  ::EnumDisplayDevices(NULL, 0, NULL, 0);
 
  return 0;
}
Без проблем.
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 02:29  [ТС]
user32.lib да там есть его сразу не было я его сам дописывал все равно пишит(((что делать подскажи пожалуйста
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 02:33
sergeu90, попробуй это:
C++
1
2
3
4
5
6
7
#include <windows.h>
 
int main() {
  ::EnumDisplayDevices(NULL, 0, NULL, 0);
 
  return 0;
}
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 02:34  [ТС]
выбило такие две ошибки
'EnumDisplayDevices' : is not a member of '`global namespace''
error C2065: 'EnumDisplayDevices' : undeclared identifier
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 02:43
sergeu90, EnumDisplayDevices требует минимум Windows 2000. MSVS 6.0 была выпущена в 1998 году.
Возможно между этими фактами есть связь - в windows.h просто нет описания EnumDisplayDevices. Но это только догадки.
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 02:47  [ТС]
я смотрел там вроде есть описание этого прототипа функции и в описании функции я читал там написано на хр идет

Добавлено через 2 минуты
мне нужно в консоли вывести название видеокарты монитора и размер винчестера может есть другие апи функции которые делают это?не знаешь?
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 03:01
sergeu90, если она описана в winuser.h то такого не может быть.
Посмотри точно если она там или нет.
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 03:04  [ТС]
#if(WINVER >= 0x0500)
WINUSERAPI
BOOL
WINAPI
EnumDisplayDevicesA(
PVOID Unused,
DWORD iDevNum,
PDISPLAY_DEVICEA lpDisplayDevice,
DWORD dwFlags);
WINUSERAPI
BOOL
WINAPI
EnumDisplayDevicesW(
PVOID Unused,
DWORD iDevNum,
PDISPLAY_DEVICEW lpDisplayDevice,
DWORD dwFlags);
#ifdef UNICODE
#define EnumDisplayDevices EnumDisplayDevicesW
#else
#define EnumDisplayDevices EnumDisplayDevicesA
#endif // !UNICODE
#endif /* WINVER >= 0x0500 */

#endif /* NOGDI */
#endif /* _WINGDI_ */

да там она есть воть
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 03:13
sergeu90, мистика...
Попробуй так:
C++
1
2
#define WINVER 0x0501 // Windows XP
// То что было раньше
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 03:19  [ТС]
это куда нужно вставить?

Добавлено через 2 минуты
я вроде вставил в тот файл место того что было и все равно
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 03:21
sergeu90, вместо своего кода вставь (в свой исходник):
C++
1
2
3
4
5
6
7
8
#define WINVER 0x0501 // Windows XP
#include <windows.h>
 
int main() {
  ::EnumDisplayDevices(NULL, 0, NULL, 0);
 
  return 0;
}
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 03:24  [ТС]
вставил вот что выдало 2 ошибки
Linking...
consol.obj : error LNK2001: unresolved external symbol __imp__EnumDisplayDevicesA@16
Release/consol.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 03:29
sergeu90, уже лучше, линкер не может связать вызов EnumDisplayDevices с user32.dll.
Приведи то, что у тебя написано в настройках проекта Linker->Command promt.
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 03:32  [ТС]
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/consol.pdb" /machine:I386 /out:"Release/consol.exe"
ну я зашел PROJECT-SETTINGS-LINK-PROJECT OPTIONS
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 03:49
sergeu90, скопируй, запусти и посмотри какой будет вывод:
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
#include <iostream>
#include <windows.h>
 
typedef BOOL (*PFUNC)(LPCTSTR, DWORD, PDISPLAY_DEVICE, DWORD);
 
int main() {
  HMODULE hUser32 = LoadLibrary("user32.dll");
 
  if (hUser32 == NULL) {
    std::cerr << "user32.dll load failed" << std::endl;
    return 0;
  }
 
  PFUNC func = (PFUNC)GetProcAddress(hUser32, "EnumDisplayDevicesA");
 
  if (func == NULL) {
    std::cerr << "EnumDisplayDevices address getting failed" << std::endl;
    return 0;
  }
 
  std::cout << "All OK" << std::endl;
 
  return 0;
};
1
28 / 29 / 5
Регистрация: 17.10.2009
Сообщений: 739
18.04.2010, 03:51  [ТС]
вывело 0 ошибок но что там такого написано что бы мне понять мне надо на си а не с++ обьясни как эту функцию использовать
0
Эксперт С++
 Аватар для CyBOSSeR
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
18.04.2010, 03:53
sergeu90, что было выведено на консоль при запуске? Это важно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru