Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Новые технологии / Обои рабочего стола

  • Составляем программу - менеджер фоновых рисунков для рабочего стола.
  • Дата отправки отчёта: 30 января 2016 г.
  • Задание выполнено: за 5 час. 00 мин.
  • Чему научился: Научился работать с реестром, с папками на диске (создавать папку, считывать файлы), работать с элементами управления Listbox и Combobox.
  • Что было сложным: См. комментарии.
  • Комментарии: Большое спасибо! Менеджер картинок рабочего стола мне очень понравился.
    К сожалению, больше часа мучился с выводом картинки на рабочий стол. Оказалось, что нужно было выводить полный путь к картинке, а не относительный. У меня функция PlacePicture заработала так:

          public void PlacePicture(string name)
            {
                if (name == "")
                  return;
                string path = dir + name;
                if (!File.Exists(path))
                    return;
                string path1 = Path.GetFullPath(path); // полный путь к картинке (path – относительное имя файла; path1 – полное имя файла)
                SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path1,
                    SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
            }
    Помог просмотр значения Wallpaper в реестре.
  • Оценка видео-уроку:
Отчёт от 7645 за Новые технологии / Обои рабочего стола




Оцени работу

 
Сохранить страницу:

24. --
Олюшка
Олюшка
ответить
→  Александр Львович  # Новые технологии / Обои рабочего стола / 2016-01-30 19:18

Александр, очень рада что ты справился и все у тебя отлично получилось, я рада за тебя! :)



Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Взаимодействию с Windows API.
Трудности: Подружиться с Windows API. Да, и почему то в редакторе реестра, в том параметре, где указывается путь к скриншоту, у меня написан короткий путь к файлу, а не полный. Поэтому у меня вместо фона устанавливался черный фон. Пришлось немного пошаманить с переменной dir, чтобы в этот параметр заносился полный путь. Я добился своего, но обратной стороной медали стало то, что теперь в перечне скриншотов в самой программе я не могу избавиться от косой черты в именах файлов. Но основную задачу я при этом выполнил - файлы успешно скачиваются по ссылке и устанавливаются в виде фона. Если будет время и настраение - буду думать как избавиться от косой черты. Спасибо за интересный, хоть и сложный урок.



Научился: Управлять обоями рабочего стола, управлять файлами, создавать папки.
Трудности: Вывести обои рабочего стола (потребовалось указать полный путь)
1) При попытке установить фоновый рисунок экран закрашивался в черный цвет. В реестре путь выглядел как paper/file.jpg. Пришлось прописать полный путь следующим образом: string dir = Environment.CurrentDirectory + "\\paper\\"; Может, конечно, в уроке это место просмотрела. 2) Я не стала удалять PictureBox, а просто освободила ресурсы перед удалением файла, и все получилось: private void list_picture_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Delete) { if (list_picture.SelectedIndex < 0) return; try { picture.Image.Dispose(); // вот эта строка высвобождает ресурсы picture.Image = null; File.Delete(dir + list_picture.SelectedItem.ToString()); ReloadPictures(); } catch { } } }