[MSGINA]
authorEric Kohl <eric.kohl@reactos.org>
Sun, 27 Jul 2014 21:05:42 +0000 (21:05 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 27 Jul 2014 21:05:42 +0000 (21:05 +0000)
- Implement the legal notice dialog.
- Rename ReadRegSzKey to ReadRegSzValue.
- Rename ReadRegDwordKey to ReadRegDwordValue.

svn path=/trunk/; revision=63745

22 files changed:
reactos/dll/win32/msgina/gui.c
reactos/dll/win32/msgina/lang/bg-BG.rc
reactos/dll/win32/msgina/lang/cs-CZ.rc
reactos/dll/win32/msgina/lang/de-DE.rc
reactos/dll/win32/msgina/lang/en-US.rc
reactos/dll/win32/msgina/lang/es-ES.rc
reactos/dll/win32/msgina/lang/fr-FR.rc
reactos/dll/win32/msgina/lang/he-IL.rc
reactos/dll/win32/msgina/lang/id-ID.rc
reactos/dll/win32/msgina/lang/it-IT.rc
reactos/dll/win32/msgina/lang/ja-JP.rc
reactos/dll/win32/msgina/lang/no-NO.rc
reactos/dll/win32/msgina/lang/pl-PL.rc
reactos/dll/win32/msgina/lang/ro-RO.rc
reactos/dll/win32/msgina/lang/ru-RU.rc
reactos/dll/win32/msgina/lang/sk-SK.rc
reactos/dll/win32/msgina/lang/sq-AL.rc
reactos/dll/win32/msgina/lang/tr-TR.rc
reactos/dll/win32/msgina/lang/uk-UA.rc
reactos/dll/win32/msgina/msgina.c
reactos/dll/win32/msgina/msgina.h
reactos/dll/win32/msgina/resource.h

index 8293604..3da57d0 100644 (file)
@@ -9,6 +9,7 @@
 
 #include <wingdi.h>
 #include <winnls.h>
 
 #include <wingdi.h>
 #include <winnls.h>
+#include <winreg.h>
 
 typedef struct _DISPLAYSTATUSMSG
 {
 
 typedef struct _DISPLAYSTATUSMSG
 {
@@ -20,6 +21,13 @@ typedef struct _DISPLAYSTATUSMSG
     HANDLE StartupEvent;
 } DISPLAYSTATUSMSG, *PDISPLAYSTATUSMSG;
 
     HANDLE StartupEvent;
 } DISPLAYSTATUSMSG, *PDISPLAYSTATUSMSG;
 
+typedef struct _LEGALNOTICEDATA
+{
+    LPWSTR pszCaption;
+    LPWSTR pszText;
+} LEGALNOTICEDATA, *PLEGALNOTICEDATA;
+
+
 static BOOL
 GUIInitialize(
     IN OUT PGINA_CONTEXT pgContext)
 static BOOL
 GUIInitialize(
     IN OUT PGINA_CONTEXT pgContext)
@@ -1162,14 +1170,90 @@ LoggedOutWindowProc(
     return FALSE;
 }
 
     return FALSE;
 }
 
+
+static
+INT_PTR
+CALLBACK
+LegalNoticeDialogProc(
+    IN HWND hwndDlg,
+    IN UINT uMsg,
+    IN WPARAM wParam,
+    IN LPARAM lParam)
+{
+    PLEGALNOTICEDATA pLegalNotice;
+
+    switch (uMsg)
+    {
+        case WM_INITDIALOG:
+            pLegalNotice = (PLEGALNOTICEDATA)lParam;
+            SetWindowTextW(hwndDlg, pLegalNotice->pszCaption);
+            SetDlgItemTextW(hwndDlg, IDC_LEGALNOTICE_TEXT, pLegalNotice->pszText);
+            return TRUE;
+
+        case WM_COMMAND:
+            switch (LOWORD(wParam))
+            {
+                case IDOK:
+                    EndDialog(hwndDlg, 0);
+                    return TRUE;
+
+                case IDCANCEL:
+                    EndDialog(hwndDlg, 0);
+                    return TRUE;
+            }
+            break;
+    }
+
+    return FALSE;
+}
+
+
 static INT
 GUILoggedOutSAS(
     IN OUT PGINA_CONTEXT pgContext)
 {
 static INT
 GUILoggedOutSAS(
     IN OUT PGINA_CONTEXT pgContext)
 {
+    LEGALNOTICEDATA LegalNotice = {NULL, NULL};
+    HKEY hKey = NULL;
+    LONG rc;
     int result;
 
     TRACE("GUILoggedOutSAS()\n");
 
     int result;
 
     TRACE("GUILoggedOutSAS()\n");
 
+    rc = RegOpenKeyExW(HKEY_LOCAL_MACHINE,
+                       L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon",
+                       0,
+                       KEY_QUERY_VALUE,
+                       &hKey);
+    if (rc == ERROR_SUCCESS)
+    {
+        ReadRegSzValue(hKey,
+                       L"LegalNoticeCaption",
+                       &LegalNotice.pszCaption);
+
+        ReadRegSzValue(hKey,
+                       L"LegalNoticeText",
+                       &LegalNotice.pszText);
+
+        RegCloseKey(hKey);
+    }
+
+    if (LegalNotice.pszCaption != NULL && wcslen(LegalNotice.pszCaption) != 0 &&
+        LegalNotice.pszText != NULL && wcslen(LegalNotice.pszText) != 0)
+    {
+        pgContext->pWlxFuncs->WlxDialogBoxParam(pgContext->hWlx,
+                                                pgContext->hDllInstance,
+                                                MAKEINTRESOURCEW(IDD_LEGALNOTICE_DLG),
+                                                GetDesktopWindow(),
+                                                LegalNoticeDialogProc,
+                                                (LPARAM)&LegalNotice);
+    }
+
+    if (LegalNotice.pszCaption != NULL)
+        HeapFree(GetProcessHeap(), 0, LegalNotice.pszCaption);
+
+    if (LegalNotice.pszText != NULL)
+        HeapFree(GetProcessHeap(), 0, LegalNotice.pszText);
+
     result = pgContext->pWlxFuncs->WlxDialogBoxParam(
         pgContext->hWlx,
         pgContext->hDllInstance,
     result = pgContext->pWlxFuncs->WlxDialogBoxParam(
         pgContext->hWlx,
         pgContext->hDllInstance,
index cee7c05..48c4716 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "Отказ", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Отказ", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Здравейте!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Здравейте!"
index 05c71e7..32f720f 100644 (file)
@@ -133,6 +133,15 @@ BEGIN
     PUSHBUTTON "Storno", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Storno", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Vítejte!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Vítejte!"
index 82d9a6a..05323c3 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "Abbrechen", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Abbrechen", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Willkommen!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Willkommen!"
index c8828ca..3c9f78a 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Welcome!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Welcome!"
index 45a0f3d..d010c77 100644 (file)
@@ -130,6 +130,15 @@ BEGIN
     PUSHBUTTON "Cancelar", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Cancelar", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "¡Bienvenido!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "¡Bienvenido!"
index 4f0d324..e478d64 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "Annuler", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Annuler", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Bienvenue!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Bienvenue!"
index bb76396..b9c10a3 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "ברוכים הבאים!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "ברוכים הבאים!"
index 6e33eb6..a1ca384 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Selamat datang!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Selamat datang!"
index 30a3fac..8367dbd 100644 (file)
@@ -137,6 +137,15 @@ BEGIN
     PUSHBUTTON "Annulla", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Annulla", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Benvenuti!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Benvenuti!"
index 118f1b1..81b361e 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "キャンセル", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "キャンセル", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "ようこそ!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "ようこそ!"
index 062cc61..7e7f6e1 100644 (file)
@@ -128,6 +128,15 @@ BEGIN
     PUSHBUTTON "Avbryt", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Avbryt", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Velkommen!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Velkommen!"
index 986522e..16e357f 100644 (file)
@@ -138,6 +138,15 @@ BEGIN
     PUSHBUTTON "Anuluj", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Anuluj", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Witaj!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Witaj!"
index 853a394..e22352b 100644 (file)
@@ -130,6 +130,15 @@ BEGIN
     PUSHBUTTON "A&nulează", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "A&nulează", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Bun venit!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Bun venit!"
index da9d975..10876be 100644 (file)
@@ -130,6 +130,15 @@ BEGIN
     PUSHBUTTON "Отмена", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Отмена", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Добро пожаловать!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Добро пожаловать!"
index 3b624ab..cd31215 100644 (file)
@@ -133,6 +133,15 @@ BEGIN
     PUSHBUTTON "Zrušiť", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Zrušiť", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Vitajte!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Vitajte!"
index 17257a2..361616d 100644 (file)
@@ -131,6 +131,15 @@ BEGIN
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Cancel", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Mirëseerdhët!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Mirëseerdhët!"
index b6e731a..f030a8d 100644 (file)
@@ -130,6 +130,15 @@ BEGIN
     PUSHBUTTON "İptal", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "İptal", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Hoşgeldiniz!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Hoşgeldiniz!"
index 191b305..3761b45 100644 (file)
@@ -136,6 +136,15 @@ BEGIN
     PUSHBUTTON "Скасувати", IDCANCEL, 204, 122, 55, 14
 END
 
     PUSHBUTTON "Скасувати", IDCANCEL, 204, 122, 55, 14
 END
 
+IDD_LEGALNOTICE_DLG DIALOGEX 0, 0, 280, 200
+STYLE DS_MODALFRAME | DS_SHELLFONT | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION ""
+FONT 8, "MS Shell Dlg"
+BEGIN
+    EDITTEXT IDC_LEGALNOTICE_TEXT, 7, 7, 266, 165, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP
+    DEFPUSHBUTTON "OK", IDOK, 115, 179, 50, 14
+END
+
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Ласкаво просимо!"
 STRINGTABLE
 BEGIN
     IDS_LOGGEDOUTSAS "Ласкаво просимо!"
index 4f5d10c..6974725 100644 (file)
@@ -57,10 +57,10 @@ WlxNegotiate(
     return TRUE;
 }
 
     return TRUE;
 }
 
-static LONG
-ReadRegSzKey(
+LONG
+ReadRegSzValue(
     IN HKEY hKey,
     IN HKEY hKey,
-    IN LPCWSTR pszKey,
+    IN LPCWSTR pszValue,
     OUT LPWSTR* pValue)
 {
     LONG rc;
     OUT LPWSTR* pValue)
 {
     LONG rc;
@@ -72,7 +72,7 @@ ReadRegSzKey(
         return ERROR_INVALID_PARAMETER;
 
     *pValue = NULL;
         return ERROR_INVALID_PARAMETER;
 
     *pValue = NULL;
-    rc = RegQueryValueExW(hKey, pszKey, NULL, &dwType, NULL, &cbData);
+    rc = RegQueryValueExW(hKey, pszValue, NULL, &dwType, NULL, &cbData);
     if (rc != ERROR_SUCCESS)
         return rc;
     if (dwType != REG_SZ)
     if (rc != ERROR_SUCCESS)
         return rc;
     if (dwType != REG_SZ)
@@ -80,7 +80,7 @@ ReadRegSzKey(
     Value = HeapAlloc(GetProcessHeap(), 0, cbData + sizeof(WCHAR));
     if (!Value)
         return ERROR_NOT_ENOUGH_MEMORY;
     Value = HeapAlloc(GetProcessHeap(), 0, cbData + sizeof(WCHAR));
     if (!Value)
         return ERROR_NOT_ENOUGH_MEMORY;
-    rc = RegQueryValueExW(hKey, pszKey, NULL, NULL, (LPBYTE)Value, &cbData);
+    rc = RegQueryValueExW(hKey, pszValue, NULL, NULL, (LPBYTE)Value, &cbData);
     if (rc != ERROR_SUCCESS)
     {
         HeapFree(GetProcessHeap(), 0, Value);
     if (rc != ERROR_SUCCESS)
     {
         HeapFree(GetProcessHeap(), 0, Value);
@@ -94,9 +94,9 @@ ReadRegSzKey(
 }
 
 static LONG
 }
 
 static LONG
-ReadRegDwordKey(
+ReadRegDwordValue(
     IN HKEY hKey,
     IN HKEY hKey,
-    IN LPCWSTR pszKey,
+    IN LPCWSTR pszValue,
     OUT LPDWORD pValue)
 {
     LONG rc;
     OUT LPDWORD pValue)
 {
     LONG rc;
@@ -108,7 +108,7 @@ ReadRegDwordKey(
         return ERROR_INVALID_PARAMETER;
 
     cbData = sizeof(DWORD);
         return ERROR_INVALID_PARAMETER;
 
     cbData = sizeof(DWORD);
-    rc = RegQueryValueExW(hKey, pszKey, NULL, &dwType, (LPBYTE)&dwValue, &cbData);
+    rc = RegQueryValueExW(hKey, pszValue, NULL, &dwType, (LPBYTE)&dwValue, &cbData);
     if (rc == ERROR_SUCCESS && dwType == REG_DWORD)
         *pValue = dwValue;
 
     if (rc == ERROR_SUCCESS && dwType == REG_DWORD)
         *pValue = dwValue;
 
@@ -131,7 +131,7 @@ ChooseGinaUI(VOID)
         KEY_QUERY_VALUE,
         &ControlKey);
 
         KEY_QUERY_VALUE,
         &ControlKey);
 
-    rc = ReadRegSzKey(ControlKey, L"SystemStartOptions", &SystemStartOptions);
+    rc = ReadRegSzValue(ControlKey, L"SystemStartOptions", &SystemStartOptions);
     if (rc != ERROR_SUCCESS)
         goto cleanup;
 
     if (rc != ERROR_SUCCESS)
         goto cleanup;
 
@@ -186,9 +186,9 @@ GetRegistrySettings(PGINA_CONTEXT pgContext)
         return FALSE;
     }
 
         return FALSE;
     }
 
-    rc = ReadRegSzKey(hKey,
-                      L"AutoAdminLogon",
-                      &lpAutoAdminLogon);
+    rc = ReadRegSzValue(hKey,
+                        L"AutoAdminLogon",
+                        &lpAutoAdminLogon);
     if (rc == ERROR_SUCCESS)
     {
         if (wcscmp(lpAutoAdminLogon, L"1") == 0)
     if (rc == ERROR_SUCCESS)
     {
         if (wcscmp(lpAutoAdminLogon, L"1") == 0)
@@ -197,9 +197,9 @@ GetRegistrySettings(PGINA_CONTEXT pgContext)
 
     TRACE("bAutoAdminLogon: %s\n", pgContext->bAutoAdminLogon ? "TRUE" : "FALSE");
 
 
     TRACE("bAutoAdminLogon: %s\n", pgContext->bAutoAdminLogon ? "TRUE" : "FALSE");
 
-    rc = ReadRegDwordKey(hKey,
-                         L"DisableCAD",
-                         &dwDisableCAD);
+    rc = ReadRegDwordValue(hKey,
+                           L"DisableCAD",
+                           &dwDisableCAD);
     if (rc == ERROR_SUCCESS)
     {
         if (dwDisableCAD != 0)
     if (rc == ERROR_SUCCESS)
     {
         if (dwDisableCAD != 0)
@@ -209,18 +209,18 @@ GetRegistrySettings(PGINA_CONTEXT pgContext)
     TRACE("bDisableCAD: %s\n", pgContext->bDisableCAD ? "TRUE" : "FALSE");
 
     pgContext->bShutdownWithoutLogon = TRUE;
     TRACE("bDisableCAD: %s\n", pgContext->bDisableCAD ? "TRUE" : "FALSE");
 
     pgContext->bShutdownWithoutLogon = TRUE;
-    rc = ReadRegSzKey(hKey,
-                      L"ShutdownWithoutLogon",
-                      &lpShutdownWithoutLogon);
+    rc = ReadRegSzValue(hKey,
+                        L"ShutdownWithoutLogon",
+                        &lpShutdownWithoutLogon);
     if (rc == ERROR_SUCCESS)
     {
         if (wcscmp(lpShutdownWithoutLogon, L"0") == 0)
             pgContext->bShutdownWithoutLogon = FALSE;
     }
 
     if (rc == ERROR_SUCCESS)
     {
         if (wcscmp(lpShutdownWithoutLogon, L"0") == 0)
             pgContext->bShutdownWithoutLogon = FALSE;
     }
 
-    rc = ReadRegSzKey(hKey,
-                      L"DontDisplayLastUserName",
-                      &lpDontDisplayLastUserName);
+    rc = ReadRegSzValue(hKey,
+                        L"DontDisplayLastUserName",
+                        &lpDontDisplayLastUserName);
     if (rc == ERROR_SUCCESS)
     {
         if (wcscmp(lpDontDisplayLastUserName, L"1") == 0)
     if (rc == ERROR_SUCCESS)
     {
         if (wcscmp(lpDontDisplayLastUserName, L"1") == 0)
@@ -856,19 +856,19 @@ DoAutoLogon(
         /* Set it by default to disabled, we might reenable it again later */
         pgContext->AutoLogonState = AUTOLOGON_DISABLED;
 
         /* Set it by default to disabled, we might reenable it again later */
         pgContext->AutoLogonState = AUTOLOGON_DISABLED;
 
-        rc = ReadRegSzKey(WinLogonKey, L"AutoAdminLogon", &AutoLogon);
+        rc = ReadRegSzValue(WinLogonKey, L"AutoAdminLogon", &AutoLogon);
         if (rc != ERROR_SUCCESS)
             goto cleanup;
         if (wcscmp(AutoLogon, L"1") != 0)
             goto cleanup;
 
         if (rc != ERROR_SUCCESS)
             goto cleanup;
         if (wcscmp(AutoLogon, L"1") != 0)
             goto cleanup;
 
-        rc = ReadRegSzKey(WinLogonKey, L"AutoLogonCount", &AutoCount);
+        rc = ReadRegSzValue(WinLogonKey, L"AutoLogonCount", &AutoCount);
         if (rc == ERROR_SUCCESS && wcscmp(AutoCount, L"0") == 0)
             goto cleanup;
         else if (rc != ERROR_FILE_NOT_FOUND)
             goto cleanup;
 
         if (rc == ERROR_SUCCESS && wcscmp(AutoCount, L"0") == 0)
             goto cleanup;
         else if (rc != ERROR_FILE_NOT_FOUND)
             goto cleanup;
 
-        rc = ReadRegSzKey(WinLogonKey, L"IgnoreShiftOverride", &UserName);
+        rc = ReadRegSzValue(WinLogonKey, L"IgnoreShiftOverride", &UserName);
         if (rc == ERROR_SUCCESS)
         {
             if (wcscmp(AutoLogon, L"1") != 0 && GetKeyState(VK_SHIFT) < 0)
         if (rc == ERROR_SUCCESS)
         {
             if (wcscmp(AutoLogon, L"1") != 0 && GetKeyState(VK_SHIFT) < 0)
@@ -887,13 +887,13 @@ DoAutoLogon(
     {
         pgContext->AutoLogonState = AUTOLOGON_DISABLED;
 
     {
         pgContext->AutoLogonState = AUTOLOGON_DISABLED;
 
-        rc = ReadRegSzKey(WinLogonKey, L"DefaultUserName", &UserName);
+        rc = ReadRegSzValue(WinLogonKey, L"DefaultUserName", &UserName);
         if (rc != ERROR_SUCCESS)
             goto cleanup;
         if (rc != ERROR_SUCCESS)
             goto cleanup;
-        rc = ReadRegSzKey(WinLogonKey, L"DefaultDomain", &Domain);
+        rc = ReadRegSzValue(WinLogonKey, L"DefaultDomain", &Domain);
         if (rc != ERROR_SUCCESS && rc != ERROR_FILE_NOT_FOUND)
             goto cleanup;
         if (rc != ERROR_SUCCESS && rc != ERROR_FILE_NOT_FOUND)
             goto cleanup;
-        rc = ReadRegSzKey(WinLogonKey, L"DefaultPassword", &Password);
+        rc = ReadRegSzValue(WinLogonKey, L"DefaultPassword", &Password);
         if (rc != ERROR_SUCCESS)
             goto cleanup;
 
         if (rc != ERROR_SUCCESS)
             goto cleanup;
 
index eaaf68d..97deda1 100644 (file)
@@ -97,6 +97,12 @@ MyLogonUser(
 
 /* msgina.c */
 
 
 /* msgina.c */
 
+LONG
+ReadRegSzValue(
+    IN HKEY hKey,
+    IN LPCWSTR pszValue,
+    OUT LPWSTR *pValue);
+
 BOOL
 DoAdminUnlock(
     IN PGINA_CONTEXT pgContext,
 BOOL
 DoAdminUnlock(
     IN PGINA_CONTEXT pgContext,
index cee14be..8ac7635 100644 (file)
 
 #define IDD_LOGOFF_DLG         107
 
 
 #define IDD_LOGOFF_DLG         107
 
+#define IDD_LEGALNOTICE_DLG      1018
+#define IDC_LEGALNOTICE_TEXT     1019
+
+
 #define IDI_ROSLOGO         20000
 #define IDI_SHELL_SHUTDOWN  20001
 
 #define IDI_ROSLOGO         20000
 #define IDI_SHELL_SHUTDOWN  20001