mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 02:10:07 +00:00
[MSGINA] Add the IgnoreShiftOverride feature again
This commit is contained in:
parent
0d308f4b6e
commit
665926d38b
|
@ -170,6 +170,7 @@ GetRegistrySettings(PGINA_CONTEXT pgContext)
|
||||||
LPWSTR lpAutoAdminLogon = NULL;
|
LPWSTR lpAutoAdminLogon = NULL;
|
||||||
LPWSTR lpDontDisplayLastUserName = NULL;
|
LPWSTR lpDontDisplayLastUserName = NULL;
|
||||||
LPWSTR lpShutdownWithoutLogon = NULL;
|
LPWSTR lpShutdownWithoutLogon = NULL;
|
||||||
|
LPWSTR lpIgnoreShiftOverride = NULL;
|
||||||
DWORD dwDisableCAD = 0;
|
DWORD dwDisableCAD = 0;
|
||||||
DWORD dwSize;
|
DWORD dwSize;
|
||||||
LONG rc;
|
LONG rc;
|
||||||
|
@ -226,6 +227,15 @@ GetRegistrySettings(PGINA_CONTEXT pgContext)
|
||||||
pgContext->bDontDisplayLastUserName = TRUE;
|
pgContext->bDontDisplayLastUserName = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rc = ReadRegSzValue(hKey,
|
||||||
|
L"IgnoreShiftOverride",
|
||||||
|
&lpIgnoreShiftOverride);
|
||||||
|
if (rc == ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
if (wcscmp(lpIgnoreShiftOverride, L"1") == 0)
|
||||||
|
pgContext->bIgnoreShiftOverride = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
dwSize = sizeof(pgContext->UserName);
|
dwSize = sizeof(pgContext->UserName);
|
||||||
rc = RegQueryValueExW(hKey,
|
rc = RegQueryValueExW(hKey,
|
||||||
L"DefaultUserName",
|
L"DefaultUserName",
|
||||||
|
@ -250,6 +260,9 @@ GetRegistrySettings(PGINA_CONTEXT pgContext)
|
||||||
(LPBYTE)&pgContext->Password,
|
(LPBYTE)&pgContext->Password,
|
||||||
&dwSize);
|
&dwSize);
|
||||||
|
|
||||||
|
if (lpIgnoreShiftOverride != NULL)
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpIgnoreShiftOverride);
|
||||||
|
|
||||||
if (lpShutdownWithoutLogon != NULL)
|
if (lpShutdownWithoutLogon != NULL)
|
||||||
HeapFree(GetProcessHeap(), 0, lpShutdownWithoutLogon);
|
HeapFree(GetProcessHeap(), 0, lpShutdownWithoutLogon);
|
||||||
|
|
||||||
|
@ -893,9 +906,15 @@ WlxDisplaySASNotice(
|
||||||
|
|
||||||
if (pgContext->bAutoAdminLogon)
|
if (pgContext->bAutoAdminLogon)
|
||||||
{
|
{
|
||||||
/* Don't display the window, we want to do an automatic logon */
|
if (pgContext->bIgnoreShiftOverride ||
|
||||||
pgContext->pWlxFuncs->WlxSasNotify(pgContext->hWlx, WLX_SAS_TYPE_CTRL_ALT_DEL);
|
(GetKeyState(VK_SHIFT) >= 0))
|
||||||
return;
|
{
|
||||||
|
/* Don't display the window, we want to do an automatic logon */
|
||||||
|
pgContext->pWlxFuncs->WlxSasNotify(pgContext->hWlx, WLX_SAS_TYPE_CTRL_ALT_DEL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
pgContext->bAutoAdminLogon = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pgContext->bDisableCAD)
|
if (pgContext->bDisableCAD)
|
||||||
|
|
|
@ -28,10 +28,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msgina);
|
||||||
|
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
|
|
||||||
/* Values for GINA_CONTEXT.AutoLogonState */
|
|
||||||
#define AUTOLOGON_CHECK_REGISTRY 1
|
|
||||||
#define AUTOLOGON_ONCE 2
|
|
||||||
#define AUTOLOGON_DISABLED 3
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -46,6 +42,7 @@ typedef struct
|
||||||
BOOL bAutoAdminLogon;
|
BOOL bAutoAdminLogon;
|
||||||
BOOL bDontDisplayLastUserName;
|
BOOL bDontDisplayLastUserName;
|
||||||
BOOL bShutdownWithoutLogon;
|
BOOL bShutdownWithoutLogon;
|
||||||
|
BOOL bIgnoreShiftOverride;
|
||||||
|
|
||||||
ULONG nShutdownAction;
|
ULONG nShutdownAction;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue