Форум программистов, компьютерный форум CyberForum.ru

Как работает программа показа живых обоев на рабочем столе (winVista/7/8/8.1)? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простая игра 3D на C++ http://www.cyberforum.ru/cpp-beginners/thread1230306.html
Здравствуйте! Я бы хотел попробовать написать простенькую 3D игру на C++. Физический движок мне не нужен, так как физики там сложной не будет. Я бы хотел узнать какие графические библиотеки для этого подойдут? Достаточно ли GLFW? И самое главное: я так и не смог найти уроки по созданию 3D игр на C++ с нуля... Я даже не понял как например создать плоскость (землю) и т.д. С чего мне начать?...
C++ Класс содержит более одного конструктора по умолчанию Имеется класс: class ControlObject { private: string productsFilename; ofstream fout; ifstream fin; bool isOpenFile; bool isEmptyFile; public: http://www.cyberforum.ru/cpp-beginners/thread1230181.html
C++ Как осуществить прорисовки и анимацию в консолевских приложениях?
Как осуществить прорисовки и анимацию в консолевских приложениях? Буду очень благодарен за ссылки на книги или сайты. Сам не смог найти чего-то подобного. Особенно интересует анимация.
Вычислить арифметическое выражение и вывести результат на экран C++
Помогите написать программу, которая a) Ввод с клавиатуры вещественных чисел: a, b, c и d. b) Проверяет исходные данные на область допустимых значений. c) Вычисляет арифметическое выражение и выводит результат на экран. \frac{\sqrt{\frac{53}{a}}+d-4a}{b+ac} Собственно написание программы не вызывает сложностей, но не могу понять куда там вставлять область допустимых значений....
C++ Структура "Студент": переделать задачу с использованием указателей http://www.cyberforum.ru/cpp-beginners/thread1230137.html
Описать Структуру с именем STUDENT с полями: 1. NAME-фамилия и инициалы; 2.GROUP-номер группы; 3.SES-успеваемость(массив из 5 элементов).Написать программу, выполняющую следующие действия: -ввод с клавиатуры данных в массив STUD1, состоящий из 10 структур типа STUDENT;записи упорядочиваются по возрастанию номера группы. - вывод фамилий и номеров группы студентов,имеющих средний балл больше...
C++ Прекращена работа программы с++ Помогите . #include <iostream> #include <vector> #include <iterator> using namespace std; bool sorted(int a,int razmer) { int z=0,tmp=a; for(int i=razmer-2;i>=0;i--) подробнее

Показать сообщение отдельно
4lice
0 / 0 / 0
Регистрация: 19.07.2014
Сообщений: 10

Как работает программа показа живых обоев на рабочем столе (winVista/7/8/8.1)? - C++

19.07.2014, 12:51. Просмотров 540. Ответов 0
Метки (Все метки)

Существует программа DreamScenes, которая позволяет устанавливать видео обои на рабочий стол (обычное видео в формате dream/wmv/mpg). Также в VLC media player есть функция показа видео в режиме обоев (исходники данной программы доступны, но разобраться в них не получилось: http://www.videolan.org/vlc/download-sources.html). Как выглядит код, реализующий такую фичу?
Пока я смогла реализовать такое "чудо" таким образом (примерный код, рабочий):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <windows.h>
#include <iostream>
#include <fstream>
 
using namespace std;
 
void main()
{
    WIN32_FIND_DATA File;
    HANDLE F;
for(int i=0; i < 10; i++)  {
    F=FindFirstFile("C:\\leto\\*.jpg", &File);
    if (F!=INVALID_HANDLE_VALUE)
    {        do
                {
                ofstream bat("C:\\logo.bat", ios_base::out);
                bat << "REG ADD \"HKCU\\Control Panel\\Desktop\" /v Wallpaper /d \"C:\\leto\\" << File.cFileName <<"\" /f" << endl <<
                "rundll32.exe user32.dll,UpdatePerUserSystemParameters" << endl;
                bat.close();
                system("C:\\logo.vbs");
                Sleep(200);
                }
             while (FindNextFile(F,&File)!=0);
                FindClose(F);
    }
}
    system("pause");
}
Описание: В папке находятся картинки (кадры анимации). Находим первую картинку, в батнике прописываем код, который меняет обои рабочего стола на мою картинку, запускаем vbs-скрипт, который позволяет выполнять батник в фоновом режиме, затем делаем паузу между выполнением следующей команды в программе С++ (0.2 сек). Таким образом наблюдается анимация на рабочем столе (но на первом проходе она виснет, почти не выполняется, потом работает, в этом и проблема). Как реализовать нормально, без зависа и кучи картинок, как в упомянутых в начале темы программах?

Добавлено через 6 часов 45 минут
Нашла в исходниках VLC media player файлы directx.c и vlc_playlist.h, которые отвечают за видео-обои. Используется DirectShow. Видимо, тему нужно перенести в DirectX. Не думаю, что сама разберусь, эта тема для меня - темный лес. Т.е. нужно писать видео-плеер, в который затем запилить фичу из тех файлов?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru