Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизСкринсервер. Найти похожие ветки
← →
studentRSU (2004-05-20 14:42) [0]При запуске скринсервера в процедуре FormShow я проверяю, с какими параметрами запущена программа и соответственно запускаю либо сам скринсервер либо окно настроек. Но если он запущен с параметром /p, то я хочу показать картинку типа JPEG в окне настроек экрана (на закладке заставка). С помощью каких процедур это можно сделать? Если кто знает, напишите, пожалуйста, небольшой пример. Заранее спасибо.
← →
WebErr © (2004-05-20 14:53) [1]Запусти сначала то самое стандартное окно.
Потом найди класс окна с помощью
FindWindow(0, 0), GetNextWindow и GetClassName.
Класс окна известен!
Теперь можешь сам создавать такое же окно с помощью CreateWindow.
Запускаем!
Дальше нужно просто найти хэндл HDC и рисовать там, где хочешь.
Но самое страшное - это будет просто глупая копия того окна, к которому все привыкли! Т.е. она ничего не сможет сделать так, как это делает то же самое окно под управлением винды.
(Если это не получится, то придётся копаться в интерфейсах!)
← →
studentRSU (2004-05-20 15:28) [2]Честно признаюсь, нихрена не понял. Я программист начинающий, и все это для меня слишком сложно. Неужели нельзя никак попроще. Может ты не понял вопрос. Повторяю подробнее: в WINDOWS есть окно свойств экрана (правой кнопкой на рабочем столе - свойства), в этом окне есть закладка "Заставка" (там еще две панели - параметры заставки и параметры питания: кнопка питание). Так вот, в параметрах заставки есть выпадающий список всех заставок (из директории windows\sysem32) и если в нем выбрать какую-либо заставку то в специальном окошке сверху (в виде монитора) появится либо сама заставка, либо просто картинка какая-нибудь, например с логотипом фирмы (в разных заставках по-разному). Так вот, дело в том, что когда мы выбираем заставку из этого списка WINDOWS запускает её с параметром /p (если нажать на кнопку "Параметры", то она запустится с параметром /c:xxxx). В своей программе (заставке) я сделал проверку параметров, с которыми запущен скринсервер (если /c:xxxx то я запускаю окно настройки - Options.ShowModal;), а если он запущен с параметром /p, то мне нужно показать в том специальном окне картинку типа JPEG. Неужели для этого нужно создавать такое же окно, что-то там перерисовывать и т.д. Кто знает, как это сделать попроще, помогите, пожалуйста. Заранее благодарен.
← →
Ega23 © (2004-05-20 16:01) [3]screenSAVEr, а не screenSERVER.
← →
WebErr © (2004-05-20 16:09) [4]
> Кто знает, как это сделать попроще, помогите, пожалуйста.
> Заранее благодарен.
Попроще не получится!
Как ты заставишь чужую программу сделать что-то по-твоему иначе, кроме как через параметры или интерфейсы?
Поясняю, параметра запускающего нужную картинку на "монитор" в этом окне ты не найдёшь, я по крайней мере не нашёл - это надо чтобы в программе выбрался нужный item из списка. Это можно сделать при помощи интерфейсов - здесь копайся сам - я в это лезть не хочу! ...
← →
wicked © (2004-05-20 18:17) [5]жуть тут понаписывали....
всё гораздо проще - сделать маленькую заготовку, которая показывает ВСЕ параметры, переданные программе...
когда будет запускаться режим просмотра, явно можно увидеть ДВА параметра - "/p" и некое число, которое и является хендлом окна, в котором должен появиться скринсейвер...
← →
studentRSU (2004-05-20 19:07) [6]Читаю ответы и понимаю, что я не просто чайник, а чайник без носика. Вот код:
procedure TScreenS.FormShow(Sender: TObject);
begin
if ParamCount>0 then
begin
if ParamStr(1)="/p" then begin что должно быть здесь??? end
else if ParamStr(1)[2]="c" then begin ShowCursor(true); Options.ShowModal; Close; exit end
end;
end;
← →
wicked © (2004-05-20 19:48) [7]
> if ParamStr(1)="/p" then begin что должно быть здесь???
> end
должен быть код, рисующий каким-либо образом на окне, хендл которого передан во втором параметре...
как это сделать - писать много и лениво....
← →
studentRSU (2004-05-20 23:17) [8]Кому не лениво, напишите, пожалуйста.
← →
studentRSU (2004-05-21 23:44) [9]Ну хоть кто-нибудь. Очень надо, напишите, плиз. Или хотя бы укажите, где это может описано, чтоб я знал, где искать. Заранее благодарен.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.032 c