14#define DEFAULT_PASSWORD L" "
152 WCHAR szAccountName[64];
153 WCHAR szPassword1[64];
154 WCHAR szPassword2[64];
164 wcscpy(szAccountName,
L"LocalSystem");
173 dwServiceType &= ~SERVICE_INTERACTIVE_PROCESS;
182 if (
wcscmp(szPassword1, szPassword2))
241 if (pLogonData !=
NULL)
247 pLogonData->bInitialized =
FALSE;
250 pLogonData->pServiceConfig =
GetServiceConfig(pLogonData->pService->lpServiceName);
251 if (pLogonData->pServiceConfig !=
NULL)
256 if (pLogonData->pServiceConfig->lpServiceStartName ==
NULL ||
257 _wcsicmp(pLogonData->pServiceConfig->lpServiceStartName,
L"LocalSystem") == 0)
268 wcscpy(pLogonData->szAccountName, pLogonData->pServiceConfig->lpServiceStartName);
274 pLogonData->bInitialized =
TRUE;
344 return OnApply(hwndDlg, pLogonData);
VOID ResourceMessageBox(HINSTANCE hInstance, HWND hwnd, UINT uType, UINT uCaptionId, UINT uMessageId)
LPQUERY_SERVICE_CONFIG GetServiceConfig(LPWSTR lpServiceName)
struct _SERVICEPROPSHEET * PSERVICEPROPSHEET
#define IDC_LOGON_PW1TEXT
#define IDC_LOGON_ACCOUNTNAME
#define IDC_LOGON_PASSWORD1
#define IDC_LOGON_PASSWORD2
#define IDS_NOT_SAME_PASSWORD
#define IDS_INVALID_PASSWORD
#define IDC_LOGON_HWPROFILE
#define IDC_LOGON_THISACCOUNT
#define IDC_LOGON_SYSTEMACCOUNT
#define IDC_LOGON_PW2TEXT
#define IDC_LOGON_INTERACTIVE
#define HeapFree(x, y, z)
#define PSN_QUERYINITIALFOCUS
static BOOL OnQueryInitialFocus(HWND hwndDlg, PLOGONDATA pLogonData)
struct _LOGONDATA * PLOGONDATA
static BOOL SetServiceAccount(LPWSTR lpServiceName, DWORD dwServiceType, LPWSTR lpStartName, LPWSTR lpPassword)
static BOOL OnApply(HWND hwndDlg, PLOGONDATA pLogonData)
static VOID SetControlStates(HWND hwndDlg, PLOGONDATA pLogonData, BOOL bLocalSystem)
struct _LOGONDATA LOGONDATA
INT_PTR CALLBACK LogonPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define PropSheet_Changed(d, w)
SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR lpMachineName, LPCWSTR lpDatabaseName, DWORD dwDesiredAccess)
BOOL WINAPI UnlockServiceDatabase(SC_LOCK ScLock)
SC_HANDLE WINAPI OpenServiceW(SC_HANDLE hSCManager, LPCWSTR lpServiceName, DWORD dwDesiredAccess)
BOOL WINAPI ChangeServiceConfigW(SC_HANDLE hService, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCWSTR lpBinaryPathName, LPCWSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCWSTR lpDependencies, LPCWSTR lpServiceStartName, LPCWSTR lpPassword, LPCWSTR lpDisplayName)
SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE hSCManager)
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
LPQUERY_SERVICE_CONFIG pServiceConfig
ENUM_SERVICE_STATUS_PROCESS * pService
#define SERVICE_NO_CHANGE
#define SERVICE_CHANGE_CONFIG
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
HWND WINAPI GetParent(_In_ HWND)
#define SERVICE_INTERACTIVE_PROCESS