Определить размер курсора текущей выбранной темы

Я хочу показать пользовательский курсор мыши, размер которого соответствует текущим настройкам (в панели управления) пользователя.

Выполнение Cursor.Current.Size всегда возвращает 32x32 (поскольку я предполагаю, что они всегда технически, но не визуально), независимо от настроек панели управления, которые правильно отражаются меньшим или большим размером курсора.

Так как же узнать размер?


person Evgeniy Berezovsky    schedule 17.02.2012    source источник


Ответы (1)


Для того, что я выяснил, вам нужно получить значок для курсора (возможно, с помощью некоторого win32-API), а затем использовать ICONINFO, чтобы узнать растровое изображение маски. После этого вы можете проверить пиксели значка и считать, пока не найдете прозрачный цвет и таким образом узнать реальный размер.

Я видел пару ответов на других сайтах, которые указывают на это направление, но я не могу найти полное решение, просто фрагменты здесь и там.

В этом вопросе stackoverflow есть хороший ответ о растровых масках, используемых курсором, и оттуда, возможно, вы сможете найти решение.

C# — захват изображения курсора мыши

Этот вопрос старый, я видел этот вопрос на других сайтах с 2003 года, поэтому, если у вас есть успех, то, пожалуйста, поместите ответ здесь, многие будут рады увидеть решение этого вопроса.

person Stefan    schedule 17.02.2012