Конференция "WinAPI" » Как сделать PreView заставки на OpenGL? [D6, WinXP]
 
  • Vemer © (05.03.08 00:51) [0]
    Добрый день.
    Написал ScreenSaver средствами WinAPI и OpenGL.
    Сама хранилка работает, но не могу заставить работать ее в режиме PreView в меню выбора заставок.

    Может у кого есть готовый кусок кода или объясните примерно, что там нужно сделать?
  • soi.hash (05.03.08 07:46) [1]
    Попробуй сделать следующее напиши децельную прогу которая к примеру в MEMO выводит все параметры с которыми запус кается твоя прога.
    Далее переименуй свою прогу Пример:Screen.exe -> Screen.scr.
    Щёлкни правой выбери Установить, откроется окно свойства Экрана и за пустится твоя прога. Затем закрой её и ннажимай там все клавиши для узнавания какие параметры использует Windows для зауска и всё.
  • МистерТ (05.03.08 08:27) [2]
    > soi.hash   (05.03.08 07:46) [1]
    Вообще-то "все уже украдено до Вас", в смысле все ключи давно известны.

    > Vemer ©   (05.03.08 00:51)  
    Сходите на сайт NeHe - там огромное множество примеров скринсейверов...в основном на С++, но есть примеры и на делфи.
    Из основного - можно выделить следующее:
    а) программа должна уметь запускаться в полноэкранном режиме и прекращать свою работу при движении мыши или нажатии любой кнопки на клавиатуре и/ил мыши при запуске с ключем /s
    б) программа должна уметь отрисовывать превью на контексте чужого окна (и следить за тем, что окно будет уничтожено системой, как следствие завершить свою работу при уничтожении окна) при запуске с ключем /p #### или /l ####, где #### - HWND окна для отрисовки.
    в) программа должна выводить диалог настройки если запущена без ключей запуска, или с ключами /c или /c ####, где #### - HWND родительского окна диалога. Если /с без параметра HWND - то родитель для диалога должен быть получен через GetForegroundWindow().
    есть еще ключ /a ####, но
    1. Он вызывается только в Win95
    2. Этот ключ должен вызывать диалог ввода пароля.
    поэтому обрабатывать его в скринсейвере не стоит, начиная с Win98 система сама выводит этот диалог.
  • soi.hash (07.03.08 08:58) [3]

    > МистерТ   (05.03.08 08:27) [2]

    Идея в том, что не как это украдено, а как ты это можешь сделать
  • МистерТ (07.03.08 13:02) [4]
    > soi.hash   (07.03.08 08:58) [3]
    Идея не сработает потому, что ключи могут быть разными:
    например старт превью - /p или /l и где гарантия, что у одного на компе не будет выдаваться _только_ /р, а у другого _только_ /l ?
  • soi.hash (11.03.08 06:19) [5]

    > МистерТ   (07.03.08 13:02) [4]


    Ну это не проблема для нас тебе не кажется :-)
 
Конференция "WinAPI" » Как сделать PreView заставки на OpenGL? [D6, WinXP]
Есть новые Нет новых   [134431   +15][b:0][p:0]