Author: greatlrd Date: Sun Apr 16 17:56:57 2006 New Revision: 21609
URL: http://svn.reactos.ru/svn/reactos?rev=21609&view=rev Log: Implement screensaver setting and preiw of screen setting working in windows not tested in reactos
Modified: trunk/reactos/dll/cpl/desk/screensaver.c
Modified: trunk/reactos/dll/cpl/desk/screensaver.c URL: http://svn.reactos.ru/svn/reactos/trunk/reactos/dll/cpl/desk/screensaver.c?r... ============================================================================== --- trunk/reactos/dll/cpl/desk/screensaver.c (original) +++ trunk/reactos/dll/cpl/desk/screensaver.c Sun Apr 16 17:56:57 2006 @@ -68,7 +68,28 @@ case IDC_SCREENS_TESTSC: // Screensaver Preview { if(command == BN_CLICKED) - MessageBox(NULL, TEXT("That button doesn't do anything yet"), TEXT("Whoops"), MB_OK); + { + /* + /p:<hwnd> Run in preview + /s Run normal + /c:<hwnd> Run configuration, hwnd is handle of calling window + /a Run change password + */ + + WCHAR szCmdline[2048]; + STARTUPINFO si; + PROCESS_INFORMATION pi; + swprintf(szCmdline, L"%s /p",g_ScreenSaverItems[ImageListSelection].szFilename); + + ZeroMemory( &si, sizeof(si) ); + si.cb = sizeof(si); + ZeroMemory( &pi, sizeof(pi) ); + if(CreateProcess( NULL, szCmdline, NULL, NULL, FALSE, 0, NULL,NULL,&si, &pi )) + { + CloseHandle( pi.hProcess ); + CloseHandle( pi.hThread ); + } + }
} break; case IDC_SCREENS_DELETE: // Delete Screensaver @@ -82,7 +103,29 @@ case IDC_SCREENS_SETTINGS: // Screensaver Settings { if(command == BN_CLICKED) - MessageBox(NULL, TEXT("That button doesn't do anything yet"), TEXT("Whoops"), MB_OK); + { + /* + /p:<hwnd> Run in preview + /s Run normal + /c:<hwnd> Run configuration, hwnd is handle of calling window + /a Run change password + + */ + + WCHAR szCmdline[2048]; + STARTUPINFO si; + PROCESS_INFORMATION pi; + swprintf(szCmdline, L"%s /c",g_ScreenSaverItems[ImageListSelection].szFilename); + + ZeroMemory( &si, sizeof(si) ); + si.cb = sizeof(si); + ZeroMemory( &pi, sizeof(pi) ); + if(CreateProcess( NULL, szCmdline, NULL, NULL, FALSE, 0, NULL,NULL,&si, &pi )) + { + CloseHandle( pi.hProcess ); + CloseHandle( pi.hThread ); + } + } } break; case IDC_SCREENS_USEPASSCHK: // Screensaver Is Secure {