Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 17:35

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - Задание nnCron для периодической смены обоев рабочего стола
Автор Сообщение
  Заголовок сообщения:   Ответить с цитатой
Ошибку вроде понял. Там у меня была папка с длиннющим названием (под 200 символов). Убрал её -- ошибок не стало. Сидит, работает.
Сообщение Добавлено: Сб май 19, 2007 12:20
  Заголовок сообщения:  Задание nnCron для периодической смены обоев рабочего стола  Ответить с цитатой
Вот примерно так я теперь меняю обои на рабочем столе (сегодня нашло что-то) nnCron'ом. Добавлять в конец crontab.ini:
Код:
<%
\ Когда меняете параметры проверяйте что между S" и началом значения чтобы ОБЯЗАТЕЛЬНО был пробел


\ Путь до irfanView (http://www.irfanview.com/)
: irfanViewPath S" c:\Program Files\irfanView\i_view32.exe" ;

\ Папка, куда записаны ваши обои (обратите внимание, что обои берутся и из вложенных папок!)
: wallpapersDir S" E:\fun pix\potter\order of phoenix\" ;

\ Если обоя не влезает в экран, то её надо подгонять
\ Это соотношение обозначает что размер у подогнанной обои будет
\ семь восьмых к размеру экрана (изменяемо, само собой)
: wallPaperFraction ( -- a b )  7 8 ;

\ Тут надо указать название файла какого не жалко (это промежуточный файл, он будет затираться)
\ Можно оставить и по умолчанию
: picInfoIni S" c:\1.ini" ;

\ А вот это не трогать
: imageDimensions S" Image dimensions = " ;
\ Это тоже не трогать (пробелы не резать!..)
: buf ( -- addr u ) S"                                                                " 2 - ; %>

#( менять-обои
Time: */5  * * * * *
Action:
0
FILESONLY RECURSIVE FOR-FILES: "%wallpapersDir%\*"
1+
;FOR-FILES
RANDOM
0
FILESONLY RECURSIVE FOR-FILES: "%wallpapersDir%\*"
2DUP = IF
FILE-DELETE: "%picInfoIni%"
SWHide
START-APPW: "%QUOTE%%irfanViewPath%%QUOTE% %QUOTE%%FOUND-FULLPATH%%QUOTE% /info=%picInfoIni% /killmesoftly /silent /hide=15"
FILE-EXIST: "%picInfoIni%" IF
picInfoIni R/O OPEN-FILE-SHARED THROW
BEGIN
DUP buf ROT READ-LINE THROW WHILE DROP
buf DROP imageDimensions NIP imageDimensions COMPARE 0= IF
buf DROP imageDimensions NIP + ASCIIZ> 0. 2SWAP >NUMBER SWAP 3 + SWAP 0. 2SWAP >NUMBER 2DROP
D>S ROT ROT D>S ( width height ) 2DUP > IF DROP TRUE ELSE NIP FALSE THEN 0=
WIN-EXIST: "Progman" IF
\ выводим координаты окна Program Manager
WIN-HWND WIN-RECT 2DROP
ROT IF NIP  wallPaperFraction */ MIN
START-APP: "%QUOTE%%irfanViewPath%%QUOTE% %QUOTE%%FOUND-FULLPATH%%QUOTE% /killmesoftly /silent /hide=15 /resample=(%0 esPICK%,0) /aspectratio /wall=0"
  ELSE DROP wallPaperFraction */ MIN
START-APP: "%QUOTE%%irfanViewPath%%QUOTE% %QUOTE%%FOUND-FULLPATH%%QUOTE% /killmesoftly /silent /hide=15 /resample=(0,%0 esPICK%) /aspectratio /wall=0"
  THEN               ELSE DROP THEN
                           THEN
REPEAT DROP CLOSE-FILE THROW
ELSE
SWAP 1+ SWAP
THEN
THEN
1+
;FOR-FILES
2DROP
)#


Обои меняются функцией irfanView (хотя я первоначально делал через WinAPI, но потом всё равно к irfanView пришлось обращаться из-за необходимости в изменении размеров).

Если обоя больше экрана, то размер подгоняется. Есть и алгоритм: сначала у обои определяется что больше: ширина или высота, затем если эта размерность не влезает в экран то она подгоняется под размер экрана в соотношении семь восьмых (чтобы одна восьмая экрана осталось как бы рамкой).

Вначале текстом описаны параметры. Можно-нужно их менять. Также можно уже через интерфейс nnCron'а изменить интервал срабатывания задачи "менять-обои".

Честное предупреждение: там иногда вылезает ошибка какая-то, что там насчёт того что указатель файла устанавливается раньше начала файла (??). Не могу воспроизвести и понять...
Сообщение Добавлено: Вт май 08, 2007 18:40

Часовой пояс: UTC + 3 часа [ Летнее время ]


cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB