13#define MAX_SCREENSAVERS 100
45 _T(
"Control Panel\\Desktop"),
163 draw->rcItem.left, draw->rcItem.top,
164 draw->rcItem.right - draw->rcItem.left + 1,
165 draw->rcItem.bottom - draw->rcItem.top + 1,
179 HWND hPreview =
pData->ScreenSaverPreviewParent;
181 TCHAR szCmdline[2048];
184 if (
pData->PrevWindowPi.hProcess)
189 pData->PrevWindowPi.hThread =
pData->PrevWindowPi.hProcess =
NULL;
193 if (
pData->Selection > 0)
197 pData->ScreenSaverItems[
pData->Selection].szFilename,
215 &
pData->PrevWindowPi))
217 pData->PrevWindowPi.hThread =
pData->PrevWindowPi.hProcess =
NULL;
270 TCHAR szCmdline[2048];
274 if (
pData->Selection < 1)
279 pData->ScreenSaverItems[
pData->Selection].szFilename,
297 if (
pData->PrevWindowPi.hProcess)
302 pData->PrevWindowPi.hThread =
pData->PrevWindowPi.hProcess =
NULL;
321 TCHAR szCmdline[2048];
325 if (
pData->Selection < 1)
329 if (
pData->PrevWindowPi.hProcess)
334 pData->PrevWindowPi.hThread =
pData->PrevWindowPi.hProcess =
NULL;
339 pData->ScreenSaverItems[
pData->Selection].szFilename);
372 _T(
"Control Panel\\Desktop"),
378 _T(
"ScreenSaverIsSecure"),
387 if (
_ttoi(szBuffer) == 1)
417 UINT i, ScreenSaverCount;
420 ScreenSaverCount =
pData->ScreenSaverCount;
422 hr =
StringCbCopy(szSearchPath,
sizeof(szSearchPath), pszSearchPath);
511 (
LPARAM)ScreenSaverCount);
522 pData->ScreenSaverCount = ScreenSaverCount;
557 pData->ScreenSaverCount = 1;
561 lpBackSlash =
_tcsrchr(szLocalPath,
_T(
'\\'));
562 if (lpBackSlash !=
NULL)
570 if (lpBackSlash !=
NULL &&
_tcsicmp(szSearchPath, szLocalPath) != 0)
575 if (lpBackSlash !=
NULL &&
_tcsicmp(szSearchPath, szLocalPath) != 0)
589 _T(
"Control Panel\\Desktop"),
600 if (
pData->ScreenSaverItems[
pData->Selection].bIsScreenSaver)
629 _T(
"ScreenSaverIsSecure"),
707 pData->Selection = -1;
714 ((
short) 240, (
short) 1));
730 if (!
_tcscmp(lpCurSs,
pData->ScreenSaverItems[
i].szFilename))
817 if (
pData->ScreenSaverPreviewParent)
826 if (
pData->PrevWindowPi.hProcess)
938 if (
pData->PrevWindowPi.hProcess)
943 pData->PrevWindowPi.hThread =
pData->PrevWindowPi.hProcess =
NULL;
#define RegCloseKey(hKey)
#define IDC_SCREENS_PREVIEW
#define IDC_SCREENS_USEPASSCHK
#define IDC_SCREENS_TIMEDELAY
#define IDC_SCREENS_POWER_BUTTON
#define IDC_SCREENS_TESTSC
#define IDC_SCREENS_SETTINGS
static VOID ScreensaverPreview(HWND hwndDlg, PDATA pData)
static LPTSTR GetCurrentScreenSaverValue(LPTSTR lpValue)
static VOID ShowScreenSaverPreview(IN LPDRAWITEMSTRUCT draw, IN PDATA pData)
static VOID SelectionChanged(HWND hwndDlg, PDATA pData)
static VOID SetScreenSaver(HWND hwndDlg, PDATA pData)
static VOID SetScreenSaverPreviewBox(HWND hwndDlg, PDATA pData)
static BOOL WaitForSettingsDialog(HWND hwndDlg, HANDLE hProcess)
static VOID SearchScreenSavers(HWND hwndScreenSavers, LPCTSTR pszSearchPath, PDATA pData)
static BOOL OnInitDialog(HWND hwndDlg, PDATA pData)
static const TCHAR szPreviewWndClass[]
static VOID AddScreenSavers(HWND hwndDlg, PDATA pData)
INT_PTR CALLBACK ScreenSaverPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
static VOID ScreensaverConfig(HWND hwndDlg, PDATA pData)
static VOID CheckRegScreenSaverIsSecure(HWND hwndDlg)
LRESULT CALLBACK RedrawSubclassProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
BOOL WINAPI FindClose(HANDLE hFindFile)
BOOL WINAPI TerminateProcess(IN HANDLE hProcess, IN UINT uExitCode)
UINT WINAPI DECLSPEC_HOTPATCH WinExec(LPCSTR lpCmdLine, UINT uCmdShow)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_In_ BOOL _In_ HANDLE hProcess
static PLARGE_INTEGER Time
#define FILE_ATTRIBUTE_HIDDEN
#define DBG_UNREFERENCED_LOCAL_VARIABLE(L)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define PropSheet_Changed(d, w)
TCHAR szFilename[MAX_PATH]
ScreenSaverItem ScreenSaverItems[MAX_SCREENSAVERS]
PROCESS_INFORMATION PrevWindowPi
HWND ScreenSaverPreviewParent
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
TW_UINT32 TW_UINT16 TW_UINT16 MSG
BOOL WINAPI GdiTransparentBlt(HDC hdcDst, int xDst, int yDst, int wDst, int hDst, HDC hdcSrc, int xSrc, int ySrc, int wSrc, int hSrc, UINT crTransparent)
#define GetWindowsDirectory
#define GetSystemDirectory
#define LOAD_LIBRARY_AS_DATAFILE
#define DONT_RESOLVE_DLL_REFERENCES
#define GetModuleFileName
HGDIOBJ WINAPI GetStockObject(_In_ int)
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
HDC WINAPI CreateCompatibleDC(_In_opt_ HDC hdc)
int WINAPI FillRect(HDC, LPCRECT, HBRUSH)
HBRUSH WINAPI CreateSolidBrush(_In_ COLORREF)
BOOL WINAPI DeleteDC(_In_ HDC)
#define HKEY_CURRENT_USER
struct tagDRAWITEMSTRUCT * LPDRAWITEMSTRUCT
BOOL WINAPI RedrawWindow(_In_opt_ HWND, _In_opt_ LPCRECT, _In_opt_ HRGN, _In_ UINT)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define SPI_SETSCREENSAVEACTIVE
#define CB_FINDSTRINGEXACT
DWORD WINAPI MsgWaitForMultipleObjects(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ BOOL fWaitAll, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask)
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define SPIF_UPDATEINIFILE
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
struct tagNMHDR * LPNMHDR
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
BOOL WINAPI SystemParametersInfoW(_In_ UINT uiAction, _In_ UINT uiParam, _Inout_opt_ PVOID pvParam, _In_ UINT fWinIni)
HWND WINAPI GetParent(_In_ HWND)
UINT WINAPI GetDlgItemInt(_In_ HWND, _In_ int, _Out_opt_ PBOOL, _In_ BOOL)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
#define SystemParametersInfo
#define SendDlgItemMessage
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI DestroyWindow(_In_ HWND)
#define SPI_SETSCREENSAVETIMEOUT
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)