mirror of
https://github.com/reactos/reactos.git
synced 2025-08-01 21:03:14 +00:00
[SERVMAN]
Service logon property page: - Fix initialization and display bugs. - Start work on the 'Apply' function. It doe not apply changes yet. - Add password check messages. svn path=/trunk/; revision=71965
This commit is contained in:
parent
cc99d87bf4
commit
17cc3322a5
28 changed files with 383 additions and 39 deletions
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -331,8 +331,14 @@ END
|
||||||
|
|
||||||
STRINGTABLE
|
STRINGTABLE
|
||||||
BEGIN
|
BEGIN
|
||||||
IDS_NO_ACTION "Take no action"
|
IDS_NO_ACTION "Keine Aktion durchführen"
|
||||||
IDS_RESTART_SERVICE "Restart the Service"
|
IDS_RESTART_SERVICE "Dienst neu starten"
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Ein Programm ausführen"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Computer neu starten"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "Die Kennwörter stimmen nicht überein!"
|
||||||
|
IDS_INVALID_PASSWORD "Geben Sie ein gültiges Kennwort ein!"
|
||||||
END
|
END
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -339,3 +339,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,10 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -338,3 +338,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -346,3 +346,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -341,3 +341,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -336,3 +336,10 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
||||||
|
|
|
@ -341,3 +341,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -341,3 +341,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -343,3 +343,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -344,3 +344,10 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
||||||
|
|
|
@ -338,3 +338,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -344,3 +344,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -338,3 +338,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -338,3 +338,9 @@ BEGIN
|
||||||
IDS_RUN_PROGRAM "Run a Program"
|
IDS_RUN_PROGRAM "Run a Program"
|
||||||
IDS_RESTART_COMPUTER "Restart the Computer"
|
IDS_RESTART_COMPUTER "Restart the Computer"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRINGTABLE
|
||||||
|
BEGIN
|
||||||
|
IDS_NOT_SAME_PASSWORD "The Passwords are not the same!"
|
||||||
|
IDS_INVALID_PASSWORD "Enter a valid Password!"
|
||||||
|
END
|
||||||
|
|
|
@ -275,3 +275,24 @@ InitImageList(UINT StartResource,
|
||||||
|
|
||||||
return himl;
|
return himl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#define BUFFERSIZE 512
|
||||||
|
|
||||||
|
VOID
|
||||||
|
ResourceMessageBox(
|
||||||
|
HINSTANCE hInstance,
|
||||||
|
HWND hwnd,
|
||||||
|
UINT uType,
|
||||||
|
UINT uCaptionId,
|
||||||
|
UINT uMessageId)
|
||||||
|
{
|
||||||
|
WCHAR szErrorText[BUFFERSIZE];
|
||||||
|
WCHAR szErrorCaption[BUFFERSIZE];
|
||||||
|
|
||||||
|
LoadStringW(hInstance, uMessageId, szErrorText, sizeof(szErrorText) / sizeof(WCHAR));
|
||||||
|
LoadStringW(hInstance, uCaptionId, szErrorCaption, sizeof(szErrorCaption) / sizeof(WCHAR));
|
||||||
|
|
||||||
|
MessageBoxW(hwnd, szErrorText, szErrorCaption, uType);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -210,5 +210,12 @@ HIMAGELIST InitImageList(UINT StartResource,
|
||||||
UINT Width,
|
UINT Width,
|
||||||
UINT Height,
|
UINT Height,
|
||||||
ULONG type);
|
ULONG type);
|
||||||
|
VOID
|
||||||
|
ResourceMessageBox(
|
||||||
|
HINSTANCE hInstance,
|
||||||
|
HWND hwnd,
|
||||||
|
UINT uType,
|
||||||
|
UINT uCaptionId,
|
||||||
|
UINT uMessageId);
|
||||||
|
|
||||||
#endif /* __SERVMAN_PRECOMP_H */
|
#endif /* __SERVMAN_PRECOMP_H */
|
||||||
|
|
|
@ -11,6 +11,8 @@
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
|
#define DEFAULT_PASSWORD L" "
|
||||||
|
|
||||||
typedef struct _LOGONDATA
|
typedef struct _LOGONDATA
|
||||||
{
|
{
|
||||||
ENUM_SERVICE_STATUS_PROCESS *pService;
|
ENUM_SERVICE_STATUS_PROCESS *pService;
|
||||||
|
@ -18,10 +20,12 @@ typedef struct _LOGONDATA
|
||||||
WCHAR szAccountName[64];
|
WCHAR szAccountName[64];
|
||||||
WCHAR szPassword1[64];
|
WCHAR szPassword1[64];
|
||||||
WCHAR szPassword2[64];
|
WCHAR szPassword2[64];
|
||||||
BOOL bInitial;
|
BOOL bInitialized;
|
||||||
BOOL bAccountNameChanged;
|
BOOL bLocalSystem;
|
||||||
|
BOOL bAccountChanged;
|
||||||
} LOGONDATA, *PLOGONDATA;
|
} LOGONDATA, *PLOGONDATA;
|
||||||
|
|
||||||
|
|
||||||
static
|
static
|
||||||
VOID
|
VOID
|
||||||
SetControlStates(
|
SetControlStates(
|
||||||
|
@ -29,28 +33,166 @@ SetControlStates(
|
||||||
PLOGONDATA pLogonData,
|
PLOGONDATA pLogonData,
|
||||||
BOOL bLocalSystem)
|
BOOL bLocalSystem)
|
||||||
{
|
{
|
||||||
BOOL y = bLocalSystem ? FALSE : TRUE;
|
|
||||||
|
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_INTERACTIVE), bLocalSystem);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_INTERACTIVE), bLocalSystem);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_ACCOUNTNAME), y);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_ACCOUNTNAME), !bLocalSystem);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_SEARCH), y);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_SEARCH), FALSE /*!bLocalSystem*/);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PW1TEXT), y);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PW1TEXT), !bLocalSystem);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PASSWORD1), y);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PASSWORD1), !bLocalSystem);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PW2TEXT), y);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PW2TEXT), !bLocalSystem);
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PASSWORD2), y);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_PASSWORD2), !bLocalSystem);
|
||||||
|
|
||||||
if (bLocalSystem == TRUE && pLogonData->bInitial == FALSE)
|
if (bLocalSystem)
|
||||||
|
{
|
||||||
|
if (pLogonData->bInitialized == TRUE)
|
||||||
{
|
{
|
||||||
GetDlgItemText(hwndDlg, IDC_LOGON_ACCOUNTNAME, pLogonData->szAccountName, 64);
|
GetDlgItemText(hwndDlg, IDC_LOGON_ACCOUNTNAME, pLogonData->szAccountName, 64);
|
||||||
GetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD1, pLogonData->szPassword1, 64);
|
GetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD1, pLogonData->szPassword1, 64);
|
||||||
GetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD2, pLogonData->szPassword2, 64);
|
GetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD2, pLogonData->szPassword2, 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetDlgItemText(hwndDlg, IDC_LOGON_ACCOUNTNAME, bLocalSystem ? L"" : pLogonData->szAccountName);
|
SetDlgItemText(hwndDlg, IDC_LOGON_ACCOUNTNAME, L"");
|
||||||
SetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD1, bLocalSystem ? L"" : pLogonData->szPassword1);
|
SetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD1, L"");
|
||||||
SetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD2, bLocalSystem ? L"" : pLogonData->szPassword2);
|
SetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD2, L"");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetDlgItemText(hwndDlg, IDC_LOGON_ACCOUNTNAME, pLogonData->szAccountName);
|
||||||
|
SetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD1, pLogonData->szPassword1);
|
||||||
|
SetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD2, pLogonData->szPassword2);
|
||||||
|
}
|
||||||
|
|
||||||
pLogonData->bInitial = FALSE;
|
pLogonData->bLocalSystem = bLocalSystem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
BOOL
|
||||||
|
SetServiceAccount(
|
||||||
|
LPWSTR lpServiceName,
|
||||||
|
LPWSTR lpStartName,
|
||||||
|
LPWSTR lpPassword)
|
||||||
|
{
|
||||||
|
SC_HANDLE hSCManager;
|
||||||
|
SC_HANDLE hSc;
|
||||||
|
SC_LOCK scLock;
|
||||||
|
BOOL bRet = FALSE;
|
||||||
|
|
||||||
|
hSCManager = OpenSCManagerW(NULL,
|
||||||
|
NULL,
|
||||||
|
SC_MANAGER_LOCK);
|
||||||
|
if (hSCManager)
|
||||||
|
{
|
||||||
|
scLock = LockServiceDatabase(hSCManager);
|
||||||
|
if (scLock)
|
||||||
|
{
|
||||||
|
hSc = OpenServiceW(hSCManager,
|
||||||
|
lpServiceName,
|
||||||
|
SERVICE_CHANGE_CONFIG);
|
||||||
|
if (hSc)
|
||||||
|
{
|
||||||
|
if (ChangeServiceConfigW(hSc,
|
||||||
|
SERVICE_NO_CHANGE,
|
||||||
|
SERVICE_NO_CHANGE,
|
||||||
|
SERVICE_NO_CHANGE,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
lpStartName,
|
||||||
|
lpPassword,
|
||||||
|
NULL))
|
||||||
|
{
|
||||||
|
bRet = TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseServiceHandle(hSc);
|
||||||
|
}
|
||||||
|
|
||||||
|
UnlockServiceDatabase(scLock);
|
||||||
|
}
|
||||||
|
|
||||||
|
CloseServiceHandle(hSCManager);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bRet)
|
||||||
|
GetError();
|
||||||
|
|
||||||
|
return bRet;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
BOOL
|
||||||
|
OnQueryInitialFocus(
|
||||||
|
HWND hwndDlg,
|
||||||
|
PLOGONDATA pLogonData)
|
||||||
|
{
|
||||||
|
HWND hwnd = GetDlgItem(hwndDlg, pLogonData->bLocalSystem ? IDC_LOGON_SYSTEMACCOUNT : IDC_LOGON_THISACCOUNT);
|
||||||
|
|
||||||
|
SetWindowLong(hwndDlg, DWL_MSGRESULT, (LPARAM)hwnd);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static
|
||||||
|
BOOL
|
||||||
|
OnApply(
|
||||||
|
HWND hwndDlg,
|
||||||
|
PLOGONDATA pLogonData)
|
||||||
|
{
|
||||||
|
WCHAR szAccountName[64];
|
||||||
|
WCHAR szPassword1[64];
|
||||||
|
WCHAR szPassword2[64];
|
||||||
|
BOOL bRet = TRUE;
|
||||||
|
|
||||||
|
if (!pLogonData->bAccountChanged)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
if (SendDlgItemMessageW(hwndDlg, IDC_LOGON_SYSTEMACCOUNT, BM_GETCHECK, 0, 0) == BST_CHECKED)
|
||||||
|
{
|
||||||
|
/* System account selected */
|
||||||
|
wcscpy(szAccountName, L"LocalSystem");
|
||||||
|
wcscpy(szPassword1, L"");
|
||||||
|
wcscpy(szPassword2, L"");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Other account selected */
|
||||||
|
GetDlgItemText(hwndDlg, IDC_LOGON_ACCOUNTNAME, szAccountName, 64);
|
||||||
|
GetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD1, szPassword1, 64);
|
||||||
|
GetDlgItemText(hwndDlg, IDC_LOGON_PASSWORD2, szPassword2, 64);
|
||||||
|
|
||||||
|
if (wcscmp(szPassword1, szPassword2))
|
||||||
|
{
|
||||||
|
ResourceMessageBox(GetModuleHandle(NULL), hwndDlg, MB_OK | MB_ICONWARNING, IDS_APPNAME, IDS_NOT_SAME_PASSWORD);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!wcscmp(szPassword1, DEFAULT_PASSWORD))
|
||||||
|
{
|
||||||
|
ResourceMessageBox(GetModuleHandle(NULL), hwndDlg, MB_OK | MB_ICONWARNING, IDS_APPNAME, IDS_INVALID_PASSWORD);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
bRet = SetServiceAccount(pLogonData->pService->lpServiceName,
|
||||||
|
szAccountName,
|
||||||
|
szPassword1);
|
||||||
|
if (bRet == FALSE)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (bRet == TRUE)
|
||||||
|
pLogonData->bAccountChanged = FALSE;
|
||||||
|
|
||||||
|
return bRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -86,25 +228,30 @@ LogonPageProc(
|
||||||
GWLP_USERDATA,
|
GWLP_USERDATA,
|
||||||
(LONG_PTR)pLogonData);
|
(LONG_PTR)pLogonData);
|
||||||
|
|
||||||
pLogonData->bInitial = TRUE;
|
pLogonData->bInitialized = FALSE;
|
||||||
pLogonData->pService = ((PSERVICEPROPSHEET)(((LPPROPSHEETPAGE)lParam)->lParam))->pService;
|
pLogonData->pService = ((PSERVICEPROPSHEET)(((LPPROPSHEETPAGE)lParam)->lParam))->pService;
|
||||||
|
|
||||||
pLogonData->pServiceConfig = GetServiceConfig(pLogonData->pService->lpServiceName);
|
pLogonData->pServiceConfig = GetServiceConfig(pLogonData->pService->lpServiceName);
|
||||||
if (pLogonData->pServiceConfig != NULL)
|
if (pLogonData->pServiceConfig != NULL)
|
||||||
{
|
{
|
||||||
|
wcscpy(pLogonData->szPassword1, DEFAULT_PASSWORD);
|
||||||
|
wcscpy(pLogonData->szPassword2, DEFAULT_PASSWORD);
|
||||||
|
|
||||||
if (pLogonData->pServiceConfig->lpServiceStartName == NULL ||
|
if (pLogonData->pServiceConfig->lpServiceStartName == NULL ||
|
||||||
_wcsicmp(pLogonData->pServiceConfig->lpServiceStartName, L"LocalSystem") == 0)
|
_wcsicmp(pLogonData->pServiceConfig->lpServiceStartName, L"LocalSystem") == 0)
|
||||||
{
|
{
|
||||||
PostMessageW(GetDlgItem(hwndDlg, IDC_LOGON_SYSTEMACCOUNT), BM_SETCHECK, (WPARAM)BST_CHECKED, 0);
|
SendMessageW(GetDlgItem(hwndDlg, IDC_LOGON_SYSTEMACCOUNT), BM_SETCHECK, (WPARAM)BST_CHECKED, 0);
|
||||||
PostMessageW(hwndDlg, WM_COMMAND, IDC_LOGON_SYSTEMACCOUNT, 0);
|
SetControlStates(hwndDlg, pLogonData, TRUE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wcscpy(pLogonData->szAccountName, pLogonData->pServiceConfig->lpServiceStartName);
|
wcscpy(pLogonData->szAccountName, pLogonData->pServiceConfig->lpServiceStartName);
|
||||||
PostMessageW(GetDlgItem(hwndDlg, IDC_LOGON_THISACCOUNT), BM_SETCHECK, (WPARAM)BST_CHECKED, 0);
|
SendMessageW(GetDlgItem(hwndDlg, IDC_LOGON_THISACCOUNT), BM_SETCHECK, (WPARAM)BST_CHECKED, 0);
|
||||||
PostMessageW(hwndDlg, WM_COMMAND, IDC_LOGON_THISACCOUNT, 0);
|
SetControlStates(hwndDlg, pLogonData, FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pLogonData->bInitialized = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_HWPROFILE), FALSE);
|
EnableWindow(GetDlgItem(hwndDlg, IDC_LOGON_HWPROFILE), FALSE);
|
||||||
|
@ -121,30 +268,49 @@ LogonPageProc(
|
||||||
switch(LOWORD(wParam))
|
switch(LOWORD(wParam))
|
||||||
{
|
{
|
||||||
case IDC_LOGON_SYSTEMACCOUNT:
|
case IDC_LOGON_SYSTEMACCOUNT:
|
||||||
SetControlStates(hwndDlg, pLogonData, TRUE);
|
if (HIWORD(wParam) == BN_CLICKED)
|
||||||
break;
|
|
||||||
|
|
||||||
case IDC_LOGON_THISACCOUNT:
|
|
||||||
SetControlStates(hwndDlg, pLogonData, FALSE);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case IDC_LOGON_ACCOUNTNAME:
|
|
||||||
if (HIWORD(wParam) == EN_CHANGE)
|
|
||||||
{
|
{
|
||||||
pLogonData->bAccountNameChanged = TRUE;
|
if (pLogonData->bInitialized)
|
||||||
|
{
|
||||||
|
pLogonData->bAccountChanged = TRUE;
|
||||||
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
}
|
}
|
||||||
|
SetControlStates(hwndDlg, pLogonData, TRUE);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case IDC_LOGON_THISACCOUNT:
|
||||||
|
if (HIWORD(wParam) == BN_CLICKED)
|
||||||
|
{
|
||||||
|
if (pLogonData->bInitialized)
|
||||||
|
{
|
||||||
|
pLogonData->bAccountChanged = TRUE;
|
||||||
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
|
}
|
||||||
|
SetControlStates(hwndDlg, pLogonData, FALSE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case IDC_LOGON_ACCOUNTNAME:
|
||||||
|
case IDC_LOGON_PASSWORD1:
|
||||||
|
case IDC_LOGON_PASSWORD2:
|
||||||
|
if (HIWORD(wParam) == EN_CHANGE && pLogonData->bInitialized)
|
||||||
|
{
|
||||||
|
pLogonData->bAccountChanged = TRUE;
|
||||||
|
PropSheet_Changed(GetParent(hwndDlg), hwndDlg);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_NOTIFY:
|
case WM_NOTIFY:
|
||||||
switch (((LPNMHDR)lParam)->code)
|
switch (((LPNMHDR)lParam)->code)
|
||||||
{
|
{
|
||||||
|
case PSN_QUERYINITIALFOCUS :
|
||||||
|
return OnQueryInitialFocus(hwndDlg, pLogonData);
|
||||||
|
|
||||||
case PSN_APPLY:
|
case PSN_APPLY:
|
||||||
break;
|
return OnApply(hwndDlg, pLogonData);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -219,3 +219,6 @@
|
||||||
#define IDS_RESTART_SERVICE 12101
|
#define IDS_RESTART_SERVICE 12101
|
||||||
#define IDS_RUN_PROGRAM 12102
|
#define IDS_RUN_PROGRAM 12102
|
||||||
#define IDS_RESTART_COMPUTER 12103
|
#define IDS_RESTART_COMPUTER 12103
|
||||||
|
|
||||||
|
#define IDS_NOT_SAME_PASSWORD 12150
|
||||||
|
#define IDS_INVALID_PASSWORD 12151
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue