Скриншот с захватом курсора01.03.2013, 03:23. Показов 15245. Ответов 51
Метки нет (Все метки)
Уважаемые знатоки!
Собственно вопросов как сделать скрин - нет. Но есть вопрос, как сделать, чтобы был виден текущий курсор. На форуме находил вариант, что просто взять и наложить картинку курсора по координатам..это сделал, но в итоге если он меняется к примеру на руку, стрелочки или другой... то на скрине всё равно остаётся стандартный курсор. К примеру создатели скайпа это как то решили в демонстрации экрана.. Надеюсь что есть способ захвата
0
|
|
| 01.03.2013, 03:23 | |
|
Ответы с готовыми решениями:
51
Ошибка с динамическим захватом StringGrid скроллинг ЗАХВАТОМ Помогите разобраться с захватом видео |
| 03.03.2013, 18:39 [ТС] | ||||||
|
Спасибо..только как получить дескриптор курсора, я так и не понял)..точнее как пользоваться этими функциями..
объясните пожалуйста) и ещё такой вопрос...это будет работать на всех окнах..в любых приложениях где находится курсор, или только в том, которое указано в функции FindWindow()...? Добавлено через 1 час 7 минут вроде понял..дескриптор так
но как получить ширину и высоту курсора?..как пользоваться GetCursorInfo()
0
|
||||||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||||||
| 03.03.2013, 19:07 | ||||||
|
Короче проще самому написать
Погуглив 30 минут, я нашел как это делается во всех подробностях, вот рабочий код:
1
|
||||||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 03.03.2013, 19:34 | |
|
Эммм.. ну так уберите ту часть кода, которая делает скриншот, просто в первом посте заявлена именно такая задача. Если вы прочитаете код-то увидите, что они извлекаются отдельно, а потом уже накладываются.
0
|
|
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||||||
| 03.03.2013, 19:48 | ||||||
|
Этот способ быстрее шарповского в разы, да и все равно DC извлекать, так что лучше переделайте.
0
|
||||||
| 03.03.2013, 19:53 [ТС] | |
|
Честное слово..читал про них несколько раз на разных сайтах..но никак не могу вникнуть)...
ага..я так и знал что её нужно убрать.. только почему то после этого не все виды курсора видно после удаления BitBlt..к примеру в виде разделителя, который появляется при наведении на текст.
0
|
|
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 03.03.2013, 20:08 | |
|
Кстати да, так не видно. Это по всей видимости не считается иконкой курсора, надо придумывать какой-то костыль. В скайпе и других прогах, где курсор передается, видно его в таком положении? Можно теоретически держать в памяти такую картинку, она же не меняется особо, и пихать, когда курсора не видно. Найду нормальный способ-отпишусь. А с изучением функций по-моему все просто, берешь, копипастишь код, и разбираешься как он работаешь при помощи сайтов и методом тыка, а потом юзаешь как хочешь
0
|
|
| 03.03.2013, 20:17 [ТС] | ||||||
|
да..в скайпе видно..
у меня ещё один вопрос.. т.к. я делаю не просто отдельный скрин...а всё это по таймеру и непрерывно (как в том же скайпе)..то вылетает исключение..ругается на
при том это происходит спустя несколько секунд после успешной работы что это может быть?..
0
|
||||||
|
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
|
|
| 03.03.2013, 20:20 | |
|
где то в системе курсор меняется. иконка. вот в эту сторону и нужно копать.
0
|
|
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
|
| 03.03.2013, 20:23 | |
|
Да это я ступил, забыл ReleaseDC, сейчас скину код.
0
|
|
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||||||||||||
| 03.03.2013, 20:41 | ||||||||||||
Добавлено через 3 минуты
0
|
||||||||||||
| 03.03.2013, 20:42 [ТС] | ||||||
|
теперь другое исключение
Опять же через некоторое время после успешного выполнения... только не понятно почему, ведь loGraphics1 в конце чиститься...
0
|
||||||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||||||
| 03.03.2013, 20:49 | ||||||
|
Это с
0
|
||||||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||||||
| 03.03.2013, 21:21 | ||||||
|
Нашел кажись в чем дело, сборщик мусора не освобождает память, которую выделили вот тут.
1
|
||||||
| 03.03.2013, 21:29 [ТС] | |
|
Отлично! Огромнейшее спасибо
![]() Только жаль что не виден по прежнему тот самый курсор в виде разделителя на тексте, если удалять весь скрин. и ещё такой вопрос..чисто для уточнения, по функции BitBlt получается она копирует изображение из hdc в lnDst1, а потом с помощью ReleaseHdc(lnDst1) мы помещаем это всё в графикс..правильно я понял?
0
|
|
|
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
|
|||
| 03.03.2013, 21:38 | |||
|
EvilFromHell,
![]() Из МСДН:
0
|
|||
|
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
|
||
| 03.03.2013, 21:52 | ||
|
Ну почти, просто по-моему графикс(мое предположение, но скорее всего так и есть)-это обертка над этими контекстами устройства, ибо представляют из себя они примерно одно и то же-некую виртуальную поверхность для рисования(только в графиксе все эти освобождения должны делаться автоматически, и следить за ними не надо, а если обращаться к DC нарямую, то приходится заниматься этим вручную), соответственно графиксу принадлежит какой-то DC, и чтобы записать графикс на битмап, надо сначала его освободить. А битмап представляет из себя нечто вроде рамы, в которую эта картина пихается. Для более точной информации-надо залезть в соответствующие библиотеки и посмотреть.
Добавлено через 2 минуты Добавлено через 7 минут А на счет неотображения курсора отдельно от BitBlt-странно, логику поищу. Главное все другие отображаются, а такой нет, и только в этом случае.
0
|
||
| 03.03.2013, 21:52 | |
|
Помогаю со студенческими работами здесь
40
Регулярное выражение: сделать текст жирным с захватом даты Как изменить цвет курсора ввода и курсора мыши в элементе Edit Нужна недорогая плата оцифровки видео или USB устройство, только с аппаратным захватом и без твтюнера. Поиск частей внешнего контура по четырём сторонам с "захватом" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|