Screen Saver через библ. scrnsave.lib

Тема в разделе "WASM.WIN32", создана пользователем Alexoid, 2 май 2008.

  1. Alexoid

    Alexoid Александр Васильевич

    Публикаций:
    0
    Регистрация:
    16 окт 2007
    Сообщения:
    3
    Адрес:
    Республика Коми, г. Ухта
    Здравствуйтя !!!! Я хотел бы затронуть для меня очень болезненый вопрос: "Раелизация хранителя экрана ч/з библиотеку scrnsave.lib" на MASM. Ни кто неможет мне дать ответ на это вопрос, как это толком реализуется, с теорией я немного разобраля. Подскажите плиз кто волокёт в этом.
    Я вкуресе, что можно ч/з Коммандную строку это всё сделать, но меня интересует именно этот подход.
    Как я понял на экпорт должны идти 2 ф-ции:
    1.ScreenSaverProc-является "функцией окна" хранителя. Она получает все сообщения системы (аналог функции WinMain в чистом Windows-приложении);
    2. ScreenSaverConfigureDialog - функция вызывается системой всякий раз когда пользователь нажимает кнопку "настройка...";
    Это было б всё прекрасно, если б я знал как это реализовать в masm, это нехочет работать:
    Код (Text):
    1. .code
    2. start:
    3.        
    4.     invoke GetModuleHandle, NULL
    5.     MOV hInst, EAX
    6.  
    7.     ScreenSaverProc PROC EXPORT P1:DWORD,P2:DWORD,P3:DWORD,P4:DWORD
    8.         invoke MessageBox,0,ADDR szBMPStr,0,0
    9.         RET
    10.     ScreenSaverProc ENDP
    11.  
    12.     ScreenSaverConfigureDialog PROC EXPORT P1:DWORD,P2:DWORD,P3:DWORD,P4:DWORD
    13.         invoke MessageBox,0,ADDR szBMPStr1,0,0
    14.         RET
    15.     ScreenSaverConfigureDialog ENDP
    16.    
    17.     RegisterDialogClasses PROC P1:DWORD
    18.         invoke MessageBox,0,ADDR szBMPStr2,0,0
    19.    
    20.         RET
    21.     RegisterDialogClasses ENDP
    22. _END:
    23. RET
    24. end start
    ВОТ БАТНИК ЕСЛИ НАДО:
    Код (Text):
    1. @echo off
    2. cls
    3. ..\..\bin\rc.exe rsrc.rc
    4. ..\..\BIN\ml /c /coff /Cp ssFotoAlbum.asm
    5. ..\..\BIN\Link.exe /SUBSYSTEM:WINDOWS ssFotoAlbum.obj rsrc.res /OUT:ssFotoAlbum.scr
    6. ssFotoAlbum.scr /p 123
    Может это бред, но как я понял Винде нужны 2 точки входа(когда запускаеш scr или устанавливаеш и на настройку), я пробовал компилить, убрав START: из кода, в итоге ругается компилятор. Поисковики мне ничего не дали, там только выдали примеры для VС++
    P.S.:НА ВАС(М) ПОСЛЕДНЯЯ НАДЕЖДА!!!!!