Intel Visual Fortran Ver.10.1 で Screen Saver 用の Module が提供されているのを見つけました。最小限度のものを作ってみます。Module scrnsave を使用します。
SUBSYSTEM は Windows Program 用にします。
出来た EXE ファイルの拡張子を .SCR に変えて、C:\Windows\System32 の下にコピーします。そうすると ScreenSaver の設定のところに現れます。
ここでは、スクリーンセーバーは、特に何もせず真っ黒な画面が現れるだけです。
LOGICAL(4) FUNCTION ScreenSaverConfigureDialog(hDlg ,message ,wParam ,lParam) !DEC$ ATTRIBUTES STDCALL, ALIAS : '_ScreenSaverConfigureDialog@16' :: ScreenSaverConfigureDialog INTEGER, INTENT(IN) :: hDlg ,message ,wParam ,lParam ScreenSaverConfigureDialog = .TRUE. END FUNCTION ScreenSaverConfigureDialog LOGICAL(4) FUNCTION RegisterDialogClasses(hInst) !DEC$ ATTRIBUTES STDCALL, ALIAS : '_RegisterDialogClasses@4' :: RegisterDialogClasses INTEGER, INTENT(IN) :: hInst RegisterDialogClasses = .TRUE. END FUNCTION RegisterDialogClasses INTEGER(4) FUNCTION ScreenSaverProc(hWnd, uMsg, wParam, lParam) !DEC$ ATTRIBUTES STDCALL, ALIAS : '_ScreenSaverProc@16' :: ScreenSaverProc USE scrnsave USE ifwin USE iflogm IMPLICIT NONE INTEGER(4):: hWnd, uMsg, wParam, lParam ScreenSaverProc = DefScreenSaverProc(hWnd, uMsg, wParam, lParam) RETURN END FUNCTION ScreenSaverProc