Получить и установить размер значков рабочего стола Windows в C # - PullRequest
2 голосов
/ 25 сентября 2010

Я хотел бы получить и установить размеры значков рабочего стола в Windows Vista и 7 - теперь рабочий стол позволяет динамически изменять размер значков с помощью Ctrl-MouseWheel, и я хотел бы сделать это с помощью C #.Да, я могу отправить сообщение WM_MOUSEWHEEL дескриптору списка рабочего стола, но у него есть два недостатка:

  • У меня нет текущего размера, поэтому я должен отправлять сообщение много раз, покаЯ достигаю известного состояния (максимальный или минимальный размер), а затем снова отправляю сообщение для изменения размера до желаемого размера
  • Вышеуказанная процедура выполняется медленно (мне нужно отправить много сообщений, чтобы достичь желаемого размера, что не может бытьсделано за один шаг) и иногда мерцает, когда достигает известного состояния.

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

Ответы [ 2 ]

0 голосов
/ 25 сентября 2010

Кажется, единственный путь к этому - через реестр.Посмотрите на середину этой страницы ("Когда в Windows").

Обновление:

Хорошо, теперь я понимаю, что вы говорите,Вам необходимо использовать IFolderView (CurrentViewMode) или IFolderView2 (ViewModeAndIconSize) на рабочем столе.

0 голосов
/ 25 сентября 2010

Я знаю, что вы можете получить размер значков довольно легко, используя класс SystemInformation . Кажется, что нет установщика, поэтому вам, возможно, придется копать глубже и использовать системную SystemParameterInfo() функцию . См. Параметры SPI_GETICONMETRICS и SPI_SETICONMETRICS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...