diff --git a/reactos/base/applications/screensavers/3dtext/3dtext.def b/reactos/base/applications/screensavers/3dtext/3dtext.def
deleted file mode 100644
index 6e908d7fbf4..00000000000
--- a/reactos/base/applications/screensavers/3dtext/3dtext.def
+++ /dev/null
@@ -1,5 +0,0 @@
-NAME 3dtext.scr
-
-EXPORTS
- ScreenSaverProc
- ScreenSaverConfigureDialog
diff --git a/reactos/base/applications/screensavers/3dtext/3dtext.rbuild b/reactos/base/applications/screensavers/3dtext/3dtext.rbuild
index 1bf16ad7658..03e2f504a12 100644
--- a/reactos/base/applications/screensavers/3dtext/3dtext.rbuild
+++ b/reactos/base/applications/screensavers/3dtext/3dtext.rbuild
@@ -1,7 +1,7 @@
-
+
scrnsave
kernel32
user32
@@ -13,6 +13,7 @@
3dtext.c
settings.c
rsrc.rc
+ 3dtext.spec
diff --git a/reactos/base/applications/screensavers/3dtext/3dtext.spec b/reactos/base/applications/screensavers/3dtext/3dtext.spec
new file mode 100644
index 00000000000..04ce907fafc
--- /dev/null
+++ b/reactos/base/applications/screensavers/3dtext/3dtext.spec
@@ -0,0 +1,2 @@
+@ stdcall ScreenSaverProc(ptr long ptr ptr)
+@ stdcall ScreenSaverConfigureDialog(ptr long ptr ptr)
\ No newline at end of file
diff --git a/reactos/base/applications/screensavers/logon/lang/de-DE.rc b/reactos/base/applications/screensavers/logon/lang/de-DE.rc
index 6a13ddfc7dd..10fc8483229 100644
--- a/reactos/base/applications/screensavers/logon/lang/de-DE.rc
+++ b/reactos/base/applications/screensavers/logon/lang/de-DE.rc
@@ -1,7 +1,7 @@
-LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_DESCRIPTION "Logon Bildschirmschoner"
- IDS_TEXT "Keinerlei Einstellungen notwendig."
-END
+LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_DESCRIPTION "Logon Bildschirmschoner"
+ IDS_TEXT "Keinerlei Einstellungen notwendig."
+END
diff --git a/reactos/base/applications/screensavers/logon/lang/fr-FR.rc b/reactos/base/applications/screensavers/logon/lang/fr-FR.rc
index dd68ecc27bb..2eb39900218 100644
--- a/reactos/base/applications/screensavers/logon/lang/fr-FR.rc
+++ b/reactos/base/applications/screensavers/logon/lang/fr-FR.rc
@@ -1,7 +1,7 @@
-LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_DESCRIPTION "Écran de veille de logon"
- IDS_TEXT "Il n'y a aucune option à définir."
-END
+LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_DESCRIPTION "Écran de veille de logon"
+ IDS_TEXT "Il n'y a aucune option à définir."
+END
diff --git a/reactos/base/applications/screensavers/logon/lang/lt-LT.rc b/reactos/base/applications/screensavers/logon/lang/lt-LT.rc
index 6b6e4110d11..1e6447478f2 100644
--- a/reactos/base/applications/screensavers/logon/lang/lt-LT.rc
+++ b/reactos/base/applications/screensavers/logon/lang/lt-LT.rc
@@ -1,16 +1,16 @@
-/*
- * PROJECT: ReactOS Logon ScreenSaver
- * LICENSE: GPL - See COPYING in the top level directory
- * FILE: base/applications/screensavers/logon/lang/lt-LT.rc
- * PURPOSE: Lithuanian Language File
- * TRANSLATOR: Vytis "CMan" Girdþijauskas (cman@cman.us)
- * DATE: 2007-12-02
- */
-
-LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_DESCRIPTION "Logon"
- IDS_TEXT "Nëra keièiamø parametrø."
-END
+/*
+ * PROJECT: ReactOS Logon ScreenSaver
+ * LICENSE: GPL - See COPYING in the top level directory
+ * FILE: base/applications/screensavers/logon/lang/lt-LT.rc
+ * PURPOSE: Lithuanian Language File
+ * TRANSLATOR: Vytis "CMan" Girdþijauskas (cman@cman.us)
+ * DATE: 2007-12-02
+ */
+
+LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_DESCRIPTION "Logon"
+ IDS_TEXT "Nëra keièiamø parametrø."
+END
diff --git a/reactos/base/applications/screensavers/logon/lang/nl-NL.rc b/reactos/base/applications/screensavers/logon/lang/nl-NL.rc
index 99660ef162c..deee07f16b6 100644
--- a/reactos/base/applications/screensavers/logon/lang/nl-NL.rc
+++ b/reactos/base/applications/screensavers/logon/lang/nl-NL.rc
@@ -1,7 +1,7 @@
-LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_DESCRIPTION "Logon Schermbeveiliging"
- IDS_TEXT "Geen dingen om in te stellen."
-END
+LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_DESCRIPTION "Logon Schermbeveiliging"
+ IDS_TEXT "Geen dingen om in te stellen."
+END
diff --git a/reactos/base/applications/screensavers/logon/lang/sk-SK.rc b/reactos/base/applications/screensavers/logon/lang/sk-SK.rc
index 5db5e4a207d..b7c48976985 100644
--- a/reactos/base/applications/screensavers/logon/lang/sk-SK.rc
+++ b/reactos/base/applications/screensavers/logon/lang/sk-SK.rc
@@ -1,11 +1,11 @@
-/* TRANSLATOR: Kario (kario@szm.sk)
- * DATE OF TR: 22-09-2007
- */
-
-LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_DESCRIPTION "Logon - šetriè obrazovky"
- IDS_TEXT "Nie sú potrebné žiadne nastavenia."
-END
+/* TRANSLATOR: Kario (kario@szm.sk)
+ * DATE OF TR: 22-09-2007
+ */
+
+LANGUAGE LANG_SLOVAK, SUBLANG_DEFAULT
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_DESCRIPTION "Logon - šetriè obrazovky"
+ IDS_TEXT "Nie sú potrebné žiadne nastavenia."
+END
diff --git a/reactos/base/applications/screensavers/logon/lang/uk-UA.rc b/reactos/base/applications/screensavers/logon/lang/uk-UA.rc
index 7e928ea5292..2a8a19a34e5 100644
--- a/reactos/base/applications/screensavers/logon/lang/uk-UA.rc
+++ b/reactos/base/applications/screensavers/logon/lang/uk-UA.rc
@@ -1,15 +1,15 @@
-/*
- * PROJECT: Logon ScreenSaver
- * LICENSE: Public Domain
- * FILE: base/applications/screensavers/logon/lang/uk-UA.rc
- * PURPOSE: Ukraianian Language File for Logon ScreenSaver
- * TRANSLATOR: Artem Reznikov
- */
-
-LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
-
-STRINGTABLE DISCARDABLE
-BEGIN
- IDS_DESCRIPTION "Çàñòàâêà ""Âõ³ä äî ñèñòåìè"""
- IDS_TEXT "Öÿ çàñòàâêà íå ìຠíàëàøòîâóâàíèõ ïàðàìåòð³â."
-END
+/*
+ * PROJECT: Logon ScreenSaver
+ * LICENSE: Public Domain
+ * FILE: base/applications/screensavers/logon/lang/uk-UA.rc
+ * PURPOSE: Ukraianian Language File for Logon ScreenSaver
+ * TRANSLATOR: Artem Reznikov
+ */
+
+LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
+
+STRINGTABLE DISCARDABLE
+BEGIN
+ IDS_DESCRIPTION "Çàñòàâêà ""Âõ³ä äî ñèñòåìè"""
+ IDS_TEXT "Öÿ çàñòàâêà íå ìຠíàëàøòîâóâàíèõ ïàðàìåòð³â."
+END
diff --git a/reactos/base/applications/screensavers/logon/logon.def b/reactos/base/applications/screensavers/logon/logon.def
deleted file mode 100644
index 9352bd05944..00000000000
--- a/reactos/base/applications/screensavers/logon/logon.def
+++ /dev/null
@@ -1,5 +0,0 @@
-NAME logon.scr
-
-EXPORTS
- ScreenSaverProc
- ScreenSaverConfigureDialog
diff --git a/reactos/base/applications/screensavers/logon/logon.rbuild b/reactos/base/applications/screensavers/logon/logon.rbuild
index 26ddb983c28..3fe58b71794 100644
--- a/reactos/base/applications/screensavers/logon/logon.rbuild
+++ b/reactos/base/applications/screensavers/logon/logon.rbuild
@@ -1,7 +1,7 @@
-
+
.
scrnsave
kernel32
@@ -12,4 +12,5 @@
logon.c
logon.rc
+ logon.spec
diff --git a/reactos/base/applications/screensavers/logon/logon.spec b/reactos/base/applications/screensavers/logon/logon.spec
new file mode 100644
index 00000000000..04ce907fafc
--- /dev/null
+++ b/reactos/base/applications/screensavers/logon/logon.spec
@@ -0,0 +1,2 @@
+@ stdcall ScreenSaverProc(ptr long ptr ptr)
+@ stdcall ScreenSaverConfigureDialog(ptr long ptr ptr)
\ No newline at end of file
diff --git a/reactos/base/applications/screensavers/logon/resource.h b/reactos/base/applications/screensavers/logon/resource.h
index 5491b27614c..bc82e80e9e9 100644
--- a/reactos/base/applications/screensavers/logon/resource.h
+++ b/reactos/base/applications/screensavers/logon/resource.h
@@ -1,3 +1,3 @@
-#define IDS_TEXT 3
-#define IDB_WORKSTATION 0x100
-#define IDB_SERVER 0x200
+#define IDS_TEXT 3
+#define IDB_WORKSTATION 0x100
+#define IDB_SERVER 0x200