Программирование на C++ глазами хакера

         

Установка на Рабочий стол собственных обоев


Задача — проще некуда:

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "с:\\1.bmp", SPIF_UPDATEINIFILE);

Функция SystemParametersInfo имеет следующие параметры:

действие, которое надо выполнить — этих действий очень много и описывать все нереально, привожу самые интересные:

    SPI_SETDESKWALLPAPER — установить собственные обои. Путь к файлу с обоями должен быть передан в третьем параметре;

    SPI_SETDOUBLECLICKTIME — время двойного щелчка. Количество миллисекунд между первым и вторым щелчком мышкой нужно указать во втором параметре. Попробуйте указать здесь число меньше 10, и я думаю, что вы никогда не успеете за это время "кликнуть" дважды. Таким образом, практически отключается функция двойного щелчка;

    SPI_SETKEYBOARDDELAY — во втором параметре устанавливается задержка между нажатиями клавиш на клавиатуре при удерживании кнопки;

    SPI_SETMOUSEBUTTONSWAP — если во втором параметре 0, то кнопки мышки используются стандартно, иначе кнопки меняются местами, как для левши;

    второй параметр зависит от состояния первого;

    третий параметр зависит от состояния первого;

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

      SPIF_UPDATEINIFILE — обновить пользовательский профиль;

      SPIF_SENDCHANGE — сгенерировать WM_SETTINGCHANGE-сообщeниe;

      SPIF_SENDWININICHANGE — то же, что и предыдущий параметр.

      Еслифункция выполнилась удачно, то она вернет любое число, не равное нулю, иначе функция вернет ноль. Пример кода, который меняет клавиши мышки местами:

      // Установить мыть для левши



      SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP, 1, 0, SPIF_SENDWININICHANGE);

      // Вернуть на родину

      SystemParametersInfo(SPI_SETMOUSEBUTTONSWAP, 0, 0, SPIF_SENDWININICHANGE);

      Примечание
      Все примеры, описанные в этом разделе, вы можете найти на компакт - диске в папке \Demo\Chapter2\SmallCh.



      Содержание раздела