С Новым годом! Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 342
1

Не найдена функция GetDpiForSystem

09.03.2024, 15:32. Показов 581. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всех приветствую. Понадобилось мне получить разрешение экрана и dpi в mfc приложении. Нашёл ответ на https://stackoverflow.com/ques... n32-api,но как я не пытался,функция GetDpiForSystem у меня не найдена. Пытался включить windows.h и winuser.h,но это мне не помогло. Вот как я переписал этот на c (если я что-то сделал неправильно,поправьте меня пожалуйста,т.к я очень редко работаю в c/c++) и подскажите пожалуйста,как подключить функцию GetDpiForSystem. Заранее благодарю всех за помощь.
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
void GetMonitorRealResolution(HMONITOR monitor, int* pixelsWidth, int* pixelsHeight)
{
    MONITORINFOEX info = { sizeof(MONITORINFOEX) };
    check_bool(GetMonitorInfo(monitor, &info));
    DEVMODE devmode;
    //ZeroMemory(&devmode, sizeof(devmode)); //Нужна ли эта строка,т.к мне подсказал её chat gpt?
    devmode.dmSize = sizeof(DEVMODE);
    check_bool(EnumDisplaySettings(info.szDevice, ENUM_CURRENT_SETTINGS, &devmode));
    *pixelsWidth = devmode.dmPelsWidth;
    *pixelsHeight = devmode.dmPelsHeight;
}
float GetMonitorScalingRatio(HMONITOR monitor)
{
    MONITORINFOEX info = { sizeof(MONITORINFOEX) };
    check_bool(GetMonitorInfo(monitor, &info));
    DEVMODE devmode;
    //ZeroMemory(&devmode, sizeof(devmode)); //Нужна ли эта строка,т.к мне подсказал её chat gpt?
    devmode.dmSize = sizeof(DEVMODE);
    check_bool(EnumDisplaySettings(info.szDevice, ENUM_CURRENT_SETTINGS, &devmode));
    return (info.rcMonitor.right - info.rcMonitor.left) / (float)devmode.dmPelsWidth;
}
float GetRealDpiForMonitor(HMONITOR monitor)
{
    return GetDpiForSystem() / 96.0 / GetMonitorScalingRatio(monitor); //Почему функция GetDpiForSystem() не найдена?
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2024, 15:32
Ответы с готовыми решениями:

Не найдена функция print
Здравствуйте коллеги, у меня проблема Я сделал библиотеку с функцией print: //lib.c #include...

Не найдена соответствующая перегруженная функция
Почему не работает (Выдает ошибку:"invoke": не найдена соответствующая перегруженная...

Перегруженная функция-член не найдена в классе
Добрый вечер. Я столкнулся с такой проблемой при работе с классом: 1>: error C2511: void...

Ошибка C2672 не найдена соответствующая перегруженная функция
Здравствуйте! Пишу программу, считывающую файл строка за строкой. В процессе работы возникла...

Функция не найдена
Доброго времени суток, столкнулся с такой проблемой пока по мере изучения Джанго и питона. Создал...

8
фрилансер
5856 / 5395 / 1104
Регистрация: 11.10.2019
Сообщений: 14,406
09.03.2024, 15:40 2
КАВ, как выглядит сообщение об ошибке?
подключена ли к проекту либа User32.lib ?
0
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 342
09.03.2024, 15:48  [ТС] 3
Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка LNK2019 ссылка на неразрешенный внешний символ _GetDpiForSystem в функции _GetRealDpiForMonitor PlainInstead C:\Users\ksash\plainstead\tiny_sprites.obj 1
0
фрилансер
5856 / 5395 / 1104
Регистрация: 11.10.2019
Сообщений: 14,406
09.03.2024, 15:52 4
КАВ, ругается линкер. Значит -
Цитата Сообщение от Алексей1153 Посмотреть сообщение
подключена ли к проекту либа User32.lib ?
0
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 342
10.03.2024, 00:00  [ТС] 5
Наверное не подключена,но с другими функциями для работы с экраном проблем нет. Где эту либу достать,если без неё нельзя,а если можно,то как обойтись без неё?
0
фрилансер
5856 / 5395 / 1104
Регистрация: 11.10.2019
Сообщений: 14,406
10.03.2024, 06:42 6
КАВ, она в составе SDK уже есть, надо только к проекту подключить - прописать в свойствах проекта

в студии - свойства проекта - linker - general - additional library directories - <edit...>
0
COM‐пропагандист
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,253
Записей в блоге: 4
10.03.2024, 08:30 7
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

Эта функция появилась в Windows 10 версии 1607. Если ваша система старше — смиритесь.
0
17 / 5 / 0
Регистрация: 16.04.2016
Сообщений: 342
10.03.2024, 16:47  [ТС] 8
У меня windows 11,но вообще предполагается,что наше приложение будет работать на семёрке и даже на хрюше,хотя на xp можно,наверное,и забить. У меня студия на русском. Я вошёл в компоновщик/общее/Дополнительные каталоги библиотек и там есть пункт изменить. Что туда нужно вписать? Кстати пробовал подключать эту библиотеку через зависимости и через pragma,всё равно возникают те же ошибки,хотя и новых не прибавляется.
0
Делаю читы для CS:GO
11 / 10 / 3
Регистрация: 25.12.2022
Сообщений: 295
12.05.2024, 21:42 9
Цитата Сообщение от КАВ Посмотреть сообщение
GetMonitorRealResolution
C++
1
2
int x = GetSystemMetrics(SM_CXSCREEN);
int y = GetSystemMetrics(SM_CYSCREEN);
0
12.05.2024, 21:42
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2024, 21:42
Помогаю со студенческими работами здесь

Функция не найдена
Недавно начал изучать веб-программирование. Наткнулся на проблему. Вот исходный код: &lt;html&gt; ...

Не найдена функция
(defun foo (lst x n) (cond ((zerop n) (cons x lst)) (t (cons (car lst) (foo (cdr...

Не найдена функция
В строке $this-&gt;PageID = GetPageID($this-&gt;PageList, $this-&gt;Page); выдает ошибку &quot;Fatal error:...

Функция pcntl_waitpid() не найдена
привет. php-5.4.6, linux-x86_64. получаю сообщение: на двух компах одинаковая версия php....

mysql_connect не найдена функция
Не известная функция mysql_connect() php 5.4 appache 2.2 в php.ini разкоментил строчку связаную...

Не найдена функция Build
Добрый день. Я реализовал функцию Build, но при ее запуске появляется ошибка: &quot;Undefined function...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru