Хранитель экрана....

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Хранитель экрана....

Сообщение Создатель » 02.05.2004 (Вс) 22:54

Люди!!!!Помогите кто может плиз...
Я проситал в одном самоучителе, что на VB можно написать хранитель экрана....только как его написать,там не написано!!!
Хотя бы просто саму систему....

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 02.05.2004 (Вс) 23:35

Подробнее можно что за хронитель :!:
Max!

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 03.05.2004 (Пн) 0:24

Max!

Зайди в св-ва экрана и посмотри "заставка"
вот они то и являются хранителями экрана.....

А я вот хочу написать свой....для начала просто чтобы какое-нить сообщение мигало или т.п.

Fedesius
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 28.03.2004 (Вс) 11:46

Сообщение Fedesius » 03.05.2004 (Пн) 10:27

Ну описывать весь процес это довольно долго так что посмотри статейку по этойтеме. Вот ссылка http://vbstreets.ru/VB/Articles/65544.aspx

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 03.05.2004 (Пн) 10:33

:arrow: <DELETE> :arrow: :twisted:
Вложения
ScreenSaver.rar
(39.22 Кб) Скачиваний: 36
Последний раз редактировалось EvilCoder 17.03.2006 (Пт) 21:15, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

Juriev
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 25.11.2003 (Вт) 21:13

Сообщение Juriev » 03.05.2004 (Пн) 11:26

'Форма - BorderStyle=0
'Таймер - Interval=500

Option Explicit
Dim a As Single, b As Single
Dim c As Boolean, flagTimer As Boolean

Private Sub Form_Load()
Form1.WindowState = vbMaximized
Form1.FontSize = 72
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If c = False Then
a = X: b = Y
c = True
End If
If Abs(X - a) > 100 Or Abs(Y - b) > 100 Then Unload Me
End Sub

Private Sub Timer1_Timer()
Cls
If flagTimer = False Then
CurrentX = 1000: CurrentY = 1000
Form1.Print "Привет"
Else
CurrentX = 5000: CurrentY = 5000
Form1.Print "Всем!!!"
End If
flagTimer = Not flagTimer
End Sub
'Сделать EXE-файл. Переименовать его в любое_имя.scr и переместить в каталог \windows\system32 (для win XP, для других Виндов- не знаю куда).
'Далее как обычно в настройках Виндов выбрать эту заставку.
Все

Juriev
Новичок
Новичок
 
Сообщения: 38
Зарегистрирован: 25.11.2003 (Вт) 21:13

Сообщение Juriev » 03.05.2004 (Пн) 11:39

Да! Не забыть поставить Timer1.Enabled=True при создании или в форм_лойд.

Создатель
Постоялец
Постоялец
 
Сообщения: 422
Зарегистрирован: 21.04.2004 (Ср) 3:32
Откуда: Новосибирск

Сообщение Создатель » 03.05.2004 (Пн) 21:23

Кстати, ты про прерывания от клавы забыл.......но это можно самому доделать.....
Всем огромное спасибо.......
Думаю, эту тему можно закрывать.....

master35
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 20.10.2004 (Ср) 1:46

Сообщение master35 » 20.10.2004 (Ср) 16:18

'Сделать EXE-файл. Переименовать его в любое_имя.scr
-----
все вроде бы правильно сделал, но экзэшник не становиться хранителем, а так и остается приложением только с именем Screen.scr (в моем случае). т.е не могу поменять расширение, в чем проблема ?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.10.2004 (Ср) 16:21

Этого недостаточно.
Lasciate ogni speranza, voi ch'entrate.

master35
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 20.10.2004 (Ср) 1:46

Сообщение master35 » 20.10.2004 (Ср) 16:23

alibek писал(а):Этого недостаточно.

так что нужно сделать то? как правильно? Если можно пошагово...(ОС ХР)

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.10.2004 (Ср) 16:32

alibek писал(а):Этого недостаточно.

Этого достаточно.

Возможно, у master35 стоит опция "скрывать расширения зарегистрированных типов файлов". Тогда её надо снять (Сервис -> Свойства папки -> Вид).
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.10.2004 (Ср) 16:58

Правильный скринсейвер обязан давать пользователю возможность менять настройки, делать preview и пр. А совсем правильный, кроме того, будет уведомлять систему о том, что он, скринсейвер, запустился.
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 20.10.2004 (Ср) 17:16

alibek, согласен, что "правильный скринсейвер" - не то же самое, что "скринсейвер вообще"?
Тут человек не знает как расширение у файла поменять, а ты о настройках и превью...
Изображение

master35
Начинающий
Начинающий
 
Сообщения: 4
Зарегистрирован: 20.10.2004 (Ср) 1:46

Сообщение master35 » 20.10.2004 (Ср) 17:19

Возможно, у master35 стоит опция "скрывать расширения зарегистрированных типов файлов". Тогда её надо снять (Сервис -> Свойства папки -> Вид).[/quote]


Все было именно так:)) Снял и поменял, все работает!
Спасибо большое..

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 22.10.2004 (Пт) 8:17

tyomitch писал(а):alibek, согласен, что "правильный скринсейвер" - не то же самое, что "скринсейвер вообще"?
Тут человек не знает как расширение у файла поменять, а ты о настройках и превью...

Кстати о настройках и превью:
Это легко организовать: винда запускает программу в режиме скринсейвера с ключом /s. В режиме настройки - с ключом /c. В режиме превью - с ключом /p.
Код: Выделить всё
Sub SheckCommandLine()
    Dim sCmdLine As String
    sCmdLine = Trim$(UCase$(Command$))
   
    'Запускаем заставку в обычном режиме
    If sCmdLine = "/s" Or Len(cmdline) = 0 Then
        Exit Sub
    End If
   
    'Запускаем заставку в режиме конфигурации
    If sCmdLine = "/c" Then
        MsgBox "Конфигурация не требуется"
        End
    End If
   
    'Запускаем заставку в режиме просмотра
    If Left$(sCmdLine, 2) = "/p" Then
        'параметр можно получить с помощью оператора Val(Mid$(sCmdLine,3))
        End
    End If
   
End Sub


P.S. И ещё по поводу отслеживания "мышиных" движений: при запуске заставки Windows сразу отправляет ей пару событий MouseMove. Поэтому стоит предусмотреть счётчик при обработке событий от мыши.
Код: Выделить всё
Dim nMouseCount As Integer

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    nMouseCount = nMouseCount + 1
    If nMouseCount > 5 Then Unload Me
End Sub
Это Ж-ж-ж-ж неспроста (с) Винни-Пух


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 9

    TopList