Как рисовать на рабочем столе под иконками?

Тема в разделе "WASM.BEGINNERS", создана пользователем clockover, 16 ноя 2005.

  1. clockover

    clockover New Member

    Публикаций:
    0
    Регистрация:
    16 ноя 2005
    Сообщения:
    2
    Адрес:
    Russia
    Есть такая программа BSPlayer – она умеет выводить видео прям на рабочий стол под иконки – причем в режиме пауза картинка остается как бы бэкграундом (в свойствах экрана бэкграунд выглядит как прозрачное сквозное пятно).

    Вот вопрос как это можно сделать? Пробовал обращается к GetDesktopWindow – рисует – но поверх иконок. Менять валпепер – есть проблема при выполнении ActiveDesktop.ApplyChanges(AD_APPLY_SAVE ) – идет рефрешь всех объектов на рабочем столе. Тоесть при выводе серии картинок начинается мелькание на экране. А в некоторых случаях и вовсе ничего не выводит – тоесть когда картинок в секунду много то рисует на десктопе только фоновый цвет и больше картинки от моей проги не принимает.

    MSDN все статьи со словами icon desktop wallpaper ActiveDesktop overlay перечитал но ничего даже наводящего на мысль не появилось.

    PS BSPlayer через IDA смотрел. Сама прога зашифрована и без правильных заголовков в результате получил длинный такой массив чисел. Ее единственную dll тоже смотрел IDA, но все вызовы внешних процедур к моей цели не привели.

    Ответ ищу уже больше 2 месяцев – рад буду любым наводкам на то, как это можно будет сделать.
     
  2. rmn

    rmn Well-Known Member

    Публикаций:
    0
    Регистрация:
    23 ноя 2004
    Сообщения:
    2.329
    Посмотри в ИДЕ плагины WinAmp'a, может они не запакованы. Там тоже такое есть.
     
  3. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    может можно использовать то, что десктоп это SysListView (на 98 по крайне мере), и у него можно установить background. Или попробовать сабкласировать десктоп и перехватить WM_ERASEBKGND
     
  4. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    есть три метода -

    overlay

    directX

    эти два будут рисовать поверх иконок



    Wnapi - попробуй то что сказал yurector

    или получи Device context и рисуй там.
     
  5. Sharp

    Sharp New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2003
    Сообщения:
    143
    Адрес:
    Ukraine