Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/74: Рейтинг темы: голосов - 74, средняя оценка - 4.72
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1

Скриншот с захватом курсора

01.03.2013, 03:23. Показов 15267. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые знатоки!
Собственно вопросов как сделать скрин - нет. Но есть вопрос, как сделать, чтобы был виден текущий курсор. На форуме находил вариант, что просто взять и наложить картинку курсора по координатам..это сделал, но в итоге если он меняется к примеру на руку, стрелочки или другой... то на скрине всё равно остаётся стандартный курсор.
К примеру создатели скайпа это как то решили в демонстрации экрана..
Надеюсь что есть способ захвата
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2013, 03:23
Ответы с готовыми решениями:

Ошибка с динамическим захватом
Задача поставлена так: сформировать двумерный массив из данного одномерного, но размерности двумерного массива спросите у пользователя, а...

StringGrid скроллинг ЗАХВАТОМ
Доброе время! Есть грид со скроллбарами, потому что не помещается вся информация на экран. Как можно реализовать просмотр...

Помогите разобраться с захватом видео
Проблема такова: у меня есть простой ресивер, получающий телевизионный сигнал с параболлической антенны, как я понимаю, сигнал идет...

51
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
03.03.2013, 21:58
Студворк — интернет-сервис помощи студентам
EvilFromHell, а в чем же тогда? да и вызывать каждый раз сборщик - по скорости не лучшее решение
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
03.03.2013, 22:12
Вот эта структура требует ей явно указывать размер в байтах, а сборщик мусора ее не удалял по-хорошему. Можешь проверить-диспозить все битмапы, графиксы и тд-и прога все равно вылетит с недостатком памяти. Может можно ее по-другому как-то удалить, можно почитать, но сборщик удаляет успешно.

Добавлено через 6 минут
Точнее сейчас проверю-может я где и ошибся.
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
03.03.2013, 22:13  [ТС]
EvilFromHell можно ещё вопрос не по теме, но всё же важный..
как по вашему лучше всего организовывать передачу данный между классами..и чтоб это не противоречило ООП..
я делаю так:
В главной форме прописываю
C#
1
2
3
4
5
6
7
8
Making_PrScreen mprsc;
 
 
        public mainform()
        {
            InitializeComponent();
            mprsc = new Making_PrScreen(this);
        }
а в соответствующем классе:
C#
1
2
3
4
5
mainform mfr;
public Making_PrScreen(mainform f)
        {
            mfr = f;
        }
Что посоветуете...?

Добавлено через 1 минуту
EvilFromHell можете не проверять..вы всё правильно говорите..я уже проверял)...
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
03.03.2013, 23:11
Тут действительно странная ситуация, больше всего памяти как оказалось ел битмап, который я присваивал пикчабоксу. Если его диспозить-картинка не отображается на экране(что логично), а если нет-то он почему-то ест память. Можно диспозить его перед тем, как присвоить пикчабоксу новый кадр, но и так тоже вылетает через некоторое время(без сборщика мусора), но существенно дольше. В той структуре ли дело ,или еще в чем, я пока не понял. Буду дальше тестить, А пока проще юзать сборщик, особых тормозов он вроде не вызывает.
А на счет ООП - в ряд ли я тут что-то посоветую, я делаю всегда по-разному и зачастую плюю на ООП и его принципы, если они мне мешают и без них код проще и быстрее. В команде я ничего пока не писал, поэтому никаких искусственных соглашений мне придерживаться не нужно. Надо гуглить и выбирать лучший вариант в зависимости от конкретной ситуации. А в этом коде видно не так много
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
04.03.2013, 01:28
А пока проще юзать сборщик, особых тормозов он вроде не вызывает
ну конечно не будет вызывать,процессор же не обрабатывает одну команду раз в сек.
разному и зачастую плюю на ООП и его принципы, если они мне мешают и без них код проще и быстрее
насчет скорости - так и не понял, как ООП влияет на нее? да и насчет ООП в целом - то тоже не сторонник создавать классы, если проект небольшой, и не нужно использовать класс где то еще. но вот когда проект со временем становится все больше и больше, то сдесь лучше ООП, так как потом разбираться в коде будет все сложней. ну у меня к примеру был проект, нужно было работать с одним сайтом, отсылать и обрабатывать запросы, писать в файл и шифровать, ну и еще кое че. я вынес все это в отдельные классы, и теперь очень удобно, всегда знаешь, что где лежит, и поправить например, алгоритм шифрования можно, лишь открыв файл в строчек 30. без ООП был бы проект в строк 500, может и больше, и разбираться что где - больше времени бы заняло
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
04.03.2013, 01:33  [ТС]
тогда покажите на примере, как лучше всего организовать обмен между классами..
чтоб не противоречило ООП)))
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
04.03.2013, 01:38
bupal, Свойства (Руководство по программированию в C#)
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
04.03.2013, 02:38
ну конечно не будет вызывать,процессор же не обрабатывает одну команду раз в сек.
Сделал 2 таймера, 1 вызывается раз одну миллисекунду(в нем указанный выше код со сборщиком), второй через 10 секунд. Сборщик мусора окружил Stopwatchем, он набрал за эти 10 секунд 52 миллисекунды. По-моему вполне терпимо, тем более что освобождать память надо, и как это сделать рациональнее не ясно.
насчет скорости - так и не понял, как ООП влияет на нее? да и насчет ООП в целом - то тоже не сторонник создавать классы, если проект небольшой, и не нужно использовать класс где то еще. но вот когда проект со временем становится все больше и больше, то сдесь лучше ООП, так как потом разбираться в коде будет все сложней. ну у меня к примеру был проект, нужно было работать с одним сайтом, отсылать и обрабатывать запросы, писать в файл и шифровать, ну и еще кое че. я вынес все это в отдельные классы, и теперь очень удобно, всегда знаешь, что где лежит, и поправить например, алгоритм шифрования можно, лишь открыв файл в строчек 30. без ООП был бы проект в строк 500, может и больше, и разбираться что где - больше времени бы заняло
Очевидно, что вызвать что-то напрямую быстрее, чем через 10 посредников, кроме того в классах часто объявляются лишние переменные, делаются лишние действия, которые можно было бы не делать, объяви и сделай все без них. Понятное дело, что ,когда проэкт немаленький, удобно бывает какой-то функционал занести в класс, хорошенько отладить, и можно в него почти не заглядывать, но это надо делать в тему. На этом форуме я часто вижу случаи, когда совершенно примитивные программы умудряются так размазать по классам, методам, интерфейсам, что от одних модификаторов рябит в глазах, и вместо удобства получается один вред и нечитаемость, в то время как все можно сделать очень просто, без кучи методов, свойств и конструкторов. Не нужно никогда терять здравый смысл в угоду какой-то парадигме-вот я о чем, она выдумана для нашего удобства, а не мы для служения ей. И передачи данных это тоже касается, не нужно страдать излишней инкапсуляцией, когда , например, у тебя в проэкте 2 формы и между ними передаются какие-то данные. Кроме того, возможности для разбиения функционала на части существуют и без ООП. Может кто не согласится-но по моему опыту именно так.

Добавлено через 10 минут
Именно поэтому мне кажется сама постановка вопроса про передачу данных некорректной-надо исходить из того, что хочется получить, а не из того, что где-то написано, тогда будет ясно, как правильно.
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
04.03.2013, 02:41  [ТС]
ну я задал этот вопрос исходя из желания знать как правильно делается...
потому что в сети определённого ответа так и не нашёл..везде всё по разному
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
04.03.2013, 03:01
В общем случае-правильно так, чтобы обращаясь к классу и его объектам снаружи, никак нельзя было нарушить его внутреннюю гармонию и вызывать что-то непредвиденное, все должно быть предсказуемо и понятно не глядя на исходник. А все остальное-следствие этого.
0
27 / 27 / 8
Регистрация: 30.03.2010
Сообщений: 380
Записей в блоге: 1
04.03.2013, 03:15  [ТС]
а по коду как это сделать?...
0
979 / 874 / 350
Регистрация: 26.04.2012
Сообщений: 2,647
04.03.2013, 03:40
Ну очевидно, что все данные, которые поступают в класс и его объекты, должны фильтроваться так, чтобы не получилось ошибок, какими бы эти данные ни были, на любые некорректные данные должны либо выбрасываться понятные исключения, либо возвращаться понятные и логичные значения. Для этого есть свойства ,приватные переменные и тд. Методы и свойства, а так же подаваемые в них переменные, должны называться так, чтобы было ясно, что именно они делают и обозначают, иначе копаться в них будет большой потерей времени. Ну и классы должны быть максимально обособлены друг от друга, не переплетаться функционалом,каждый должен делать свое дело и не лезть в чужое. Ну а все остальное легко вывести из этой логики-удобство на первом месте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.03.2013, 03:40
Помогаю со студенческими работами здесь

Split с захватом символа разделителя
Здравствуйте. Для работы с разделителями у меня есть две опций вкючая_разделитель/не включая , но пока работает только не включая ...

Регулярное выражение: сделать текст жирным с захватом даты
Здравствуйте, форумчане. Сделал простой код, где заменяет обычный текст на жирный. Ничего сложного. Ниже пример того, что получается: ...

Как изменить цвет курсора ввода и курсора мыши в элементе Edit
Всем Здравия. Проблема в следующем, задал цвет фона и цвет текста в Edit, тут все нормально, но обнаружилось что при некоторых цветах...

Нужна недорогая плата оцифровки видео или USB устройство, только с аппаратным захватом и без твтюнера.
Подскажите уважаемые. Нужна недорогая плата оцифровки видео или USB устройство, только с аппаратным захватом и без твтюнера. У кого есть...

Поиск частей внешнего контура по четырём сторонам с "захватом"
Вот так вот чудно я назвал тему =) Всем привет. В рамках проекта нужно придумать алгоритм поиска внешних стен с заходом на соседнюю...


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

Или воспользуйтесь поиском по форуму:
52
Ответ Создать тему
Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
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. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru